FreeTDS + M$SQL + Page PHP
Bonjour à tous
Je viens vers vous pour un problème de développement sur lequel je m'arrache les cheveux depuis quelques jours.
Je dois, pour ma boite, extraire certaines informations d'une base de données sous MSSQL 2008 R2, vers une page WEB. J'utilise PHP pour générer la page WEB.
Mon serveur Web tourne sous Linux Debian 7.
J'ai cru comprendre que pour que mon serveur web puisse se connecté sur la base de données MSSQL il faut utiliser un connecteur ODBC. J'utilise dans le cas présent FreeTDS
Voici la configuration que j'ai mis en place :
Driver TDS :
Code:
1 2 3 4
| [TDS]
Description = FreeTDS Driver for Linux & MSSQL on Win32
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/odbclibtdsS.so |
DSN :
Code:
1 2 3 4 5 6 7
| [DSN_JADE]
Description = Production Server
Driver = TDS
Trace = No
Server = serveur-jade.mfa.local\sqljade
TDS_Version = 8.0
Port = 1433 |
J'ai correctement enregistrer mon driver et mon DSN avec les commandes :
# odbcinst -i -s -l -f /etc/freetds/tds.dsn.template
# odbcinst -i -d -f /etc/freetds/tds.driver.template
Puis un test avec isql
Code:
1 2 3 4 5 6 7 8 9 10
| root@GW-SMS:~# isql -v DSN_JADE ******* ********
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> |
Une requête SQL directement depuis le serveur en ligne de commande aboutie bien et me présente les bons resultats.
Par contre tout se corse lorsque je souhaite causer avec la BDD via PHP.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <?php
try {
new PDO ('odbc:Driver=TDS;Server=192.168.0.238\sqljade;Database=DbJade;UID=********;PWD=*********;');
$result = $con->query('SELECT [OPEPRENOM] FROM [BdJade].[dbo].[MAGASIN]');
foreach ($result as $row) {
print $row['OPEPRENOM'] . '<br />';
}
} catch (PDOException $e) {
echo $e->getMessage();
}
// phpinfo();
?> |
Le résultat :
SQLSTATE[08001] SQLDriverConnect: 0 [unixODBC][FreeTDS][SQL Server]Unable to connect to data source
Je n'arrive pas a localiser mon erreur et pouvoir enfin afficher le résultat de ma requête sur la page WEB
Merci à tous !!!