Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je me connecter à Sql Server depuis un Mac avec PHP PDO ?

Cela vous aide-t-il ?

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

J'utilise FreeTDS pour me connecter aux serveurs Microsoft SQL à partir d'un serveur Linux et il semble que la personne dans le lien ci-dessus ait utilisé FreeTDS pour se connecter à partir d'un Mac.

Voici mon fichier /etc/freetds/freetds.conf (la seule partie que j'ai ajoutée était à la toute fin pour le serveur XYZ) :

[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

[Modifié par le demandeur]

La configuration de FreeTDS est la première moitié de la réponse. Une fois configuré, vous devriez pouvoir exécuter quelque chose comme ceci à partir de la ligne de commande et vous connecter :

tsql -S xyz -U username -P password

Ensuite, vous devez utiliser dblib, et non mssql, comme pilote PDO :

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

Où $dbhost est le nom du fichier freetds.conf