Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich von einem Mac mit PHP PDO eine Verbindung zu SQL Server herstellen?

Hilft Ihnen das?

http://blog.nguyenvq.com/2010/05/16/freetds-unixodbc-rodbc-r/

Ich verwende FreeTDS, um mich von einem Linux-Server aus mit Microsoft SQL-Servern zu verbinden, und es sieht so aus, als hätte die Person im obigen Link FreeTDS verwendet, um sich von einem Mac aus zu verbinden.

Hier ist meine /etc/freetds/freetds.conf-Datei (der einzige Teil, den ich hinzugefügt habe, war ganz am Ende für den XYZ-Server):

[global]
        # TDS protocol version
;       tds version = 4.2

        # Whether to write a TDSDUMP file for diagnostic purposes
        # (setting this to /tmp is insecure on a multi-user system)
;       dump file = /tmp/freetds.log
;       debug flags = 0xffff

        # Command and connection timeouts
;       timeout = 10
;       connect timeout = 10

        # If you get out-of-memory errors, it may mean that your client
        # is trying to allocate a huge buffer for a TEXT field.  
        # Try setting 'text size' to a more reasonable limit 
        text size = 64512

# Define a connection to the MSSQL server.
[xyz]
        host = xyz
        port = 1433
        tds version = 8.0

[Bearbeitung durch den Fragesteller]

Die FreeTDS-Konfiguration ist die erste Hälfte der Antwort. Sobald es konfiguriert ist, sollten Sie in der Lage sein, so etwas von der Befehlszeile aus auszuführen und eine Verbindung herzustellen:

tsql -S xyz -U username -P password

Dann müssen Sie dblib und nicht mssql als PDO-Treiber verwenden:

$pdo = new PDO("dblib:host=$dbhost;dbname=$dbname",
                "$dbuser","$dbpwd");

Wobei $dbhost der Name aus der Datei freetds.conf ist