Connectez PHP à MSSQL via PDO ODBC
Lorsque vous utilisez le pilote PDO ODBC pour connecter PHP à une base de données MSSQL, il est essentiel de garantir une bonne configuration. Cela implique la mise en place de plusieurs fichiers de configuration :
1. Fichiers de configuration :
-
odbc.ini : Définit la connexion à la base de données.
-
odbcinst.ini : Spécifie le emplacement du pilote.
-
freetds.conf : Définit le DSN (Data Source Name) pour la connexion à MSSQL.
2. Installation du package :
- Installez unixodbc et freetds, qui peuvent nécessiter des noms de package spécifiques dans votre système d'exploitation (par exemple, tdsodbc dans Ubuntu).
3. Configuration odbc.ini :
[mssql]
Description = MSSQL Server
Driver = freetds
Database = XXXXXX
ServerName = MSSQL
TDS_Version = 7.1
- Remplacez XXXXXX par le nom de votre base de données.
- Assurez-vous que la valeur du pilote correspond au pilote défini dans odbcinst.ini.
- Le ServerName doit correspondre à ce que vous avez défini dans freetds.conf.
- Définissez TDS_Version pour qu'il corresponde à la version spécifiée dans freetds.conf.
4. Configuration odbcinst.ini :
[freetds]
Description = MS SQL database access with Free TDS
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
UsageCount = 1
- Ajustez les chemins du pilote et de la configuration en fonction de l'architecture de votre système.
5. Configuration freetds.conf :
[mssql]
host = XXXXXX
port = 1433
tds version = 7.1
- Remplacez XXXXXX par l'adresse IP ou le nom d'hôte de votre serveur MSSQL.
- Définissez le port sur 1433 ou le port approprié.
- Ajustez la version tds pour qu'elle corresponde à votre version MSSQL.
6. Modifications du code PHP :
- Dans votre code PHP, créez l'objet PDO en utilisant dblib comme DBNAME :
$pdo = new PDO("dblib:host=mssql;dbname=$dbname", "$dbuser","$dbpwd");
- Spécifiez le format du nom d'utilisateur du domaine pour le nom d'utilisateur si nécessaire.
7. Redémarrage d'Apache :
- Redémarrez Apache après avoir effectué toutes ces modifications.
Vérification :
- Exécuter phpinfo() pour vérifier si la configuration a réussi. Recherchez « freetds » dans la sortie. Il devrait afficher une section "MSSQL" avec "freetds" comme "Version de la bibliothèque".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn