ODBC - Connexion impossible depuis Linux

Pepsi3333
Invité n'ayant pas de compte PHPfrance

02 avr. 2013, 19:04

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:

Code : Tout sélectionner

[ODBC Data Sources] MyDSN = MyODBC 3.51 Driver DSN [MyDSN] Driver = /usr/lib/odbc/libmyodbc.so Description = MyODBC 3.51 Driver DSN SERVER = ***.ovh.net PORT = USER = user Password = pass Database = db OPTION = 3 SOCKET [Default] Driver = /usr/lib/odbc/libmyodbc.so Description = MyODBC 3.51 Driver DSN SERVER = localhost PORT = USER = root Password = Database = test OPTION = 3 SOCKET =
Je me connecte comme cela:

Code : Tout sélectionner

$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 !

Pepsi3333
Invité n'ayant pas de compte PHPfrance

02 avr. 2013, 19:07

Erreur de copier-coller, dans le DSN, il faut lire "MyDSN = SQL Server Native Client 10.0", pareil pour les descriptions, desole !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 avr. 2013, 19:42

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.
MySQL serveur ?
Il n'y aurais pas une erreur sur le type de serveur cible ?

pourquoi utiliser obcd plutôt que mysqli ?

et au final pourquoi ne pas utiliser PDO :)


@+
Il en faut peu pour être heureux ......