Bonjour,

J'ai développer une application php qui attaque une base de donnée héberger sur le serveur local de l'entreprise ou je travail. La base est de type sybase et j'utilise ODBC avec le driver SQL Anywhere 12 pour me connecter à cette base. En local tout fonctionne parfaitement, et même si je déplace l'application sur un autre ordinateur de l'entreprise cela fonctionne à merveille.

Cependant pour des raisons pratique nous avons décidé d'héberger notre application sur un serveur ikoula donc l'OS est linux, centos 5. L'extension ODBC pour php ainsi que le driver sont réciproquement activer et installer et si on éfféctue une connexion manuel à la base depuis le serveur la connexion s'effectue parfaitement. Mais pour une raison que j'ignore le Driver ODBC n'est pas reconnu pas l'application php et on peu constater l'erreur suivante apparaître dans les trace.log

PHP Warning: odbc_connect() [<a href='function.odbc-connect'>function.odbc-connect</a>]: SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect

Voici mon fichier de connexion qui fonctionne parfaitement sous windows
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
$connect_string = "Driver={SQL Anywhere 12};".
                          "CommLinks=tcpip(Host=95.xxx.xxx.xxx:xxxx);".
                          "ServerName=xxxxxxx;".
                          "DatabaseName=xxxx;".
                          "DatabaseFile=xxxx;".
                          "ConnectionName=xxxx;".
                          "uid=xxxx;pwd=xxxx";
 
      // Connect to DB
 $connexion = odbc_connect($connect_string,'','') or die("Could not connect!");
}
Je vous remercie par avance de votre aide.

Cordialement

Anthony