Bonjour tout le monde,
Cela fait plusieurs jours que je m'arrache les cheveux a essayer de trouver une solution a mon probleme. J'ai cherche sur des forums, appliques des tutos, etc.. rien n'y fait.
Voici mon probleme: Je dois me connecter a une base de donnees SQL Server depuis un serveur linux (Serveur Apache) mais cela ne marche pas. J'utilise pour cela la fonction odbc_connect. Voici la conf de mes DSN dans le fichier odbc.ini:
[ODBC Data Sources]
MyDSN = SQL Server Native Client 10.0
[MyDSN]
Driver = /usr/lib/odbc/libmyodbc.so
Description = SQL Server Native Client 10.0
SERVER = ***.ovh.net
PORT =
USER = user
Password = pass
Database = db
OPTION = 3
SOCKET
[Default]
Driver = /usr/lib/odbc/libmyodbc.so
Description = SQL Server Native Client 10.0
SERVER = localhost
PORT =
USER = root
Password =
Database = test
OPTION = 3
SOCKET =
Je me connecte comme cela:
1 2 3 4 5 6 7
|
$db_src = odbc_connect('MyDSN', $user_src, $password_src);
if (!is_resource($db_src))
{
echo "<p class='red nomargin'>- Connexion a la base de donnees source: KO (" . odbc_error() . " : " . odbc_errormsg() . ") ... EXIT</p>";
exit;
} |
J'obient le message d'erreur:
SQL error: [unixODBC][MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on '****.ovh.net' (110), SQL state S1000 in SQLConnect
. Je pensais a un probleme de port, mais cela ne marche pas non plus en desactivant le firewall.
Si j'utilise une connexion string (Driver={SQL Server Native Client 10.0};Server=$server_src;Database=$database_src;) a la place du DSN, j'obiens:
SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect
Ce qui est bizarre, c'est que quand j'essaye de me connecter depuis mon PC (Windows 7) avec ce meme code source sous Apache, cela fonctionne.
Si vous avez une solution a mon probleme ou meme des pistes, je suis preneur
Merci beaucoup !
Partager