bonjour à toutes et à tous,
je viens vers vous aujourd'hui car j'ai un soucis depuis quelques jours que je n'arrive pas à régler.
Pour commencer je vous explique mon environnement :
- Serveur de données Oracle sur une machine distante
- serveur apache (wamp) installé en local
Je tente en vain de me connecter à ma base de données oracle via PDO.
Cependant le catch me retourne l'erreur "driver not found".
Les modules oci dans mon php.ini sont activés :
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll
;extension=php_oci8_11g.dll
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
La variable d'environnement PATH contient le chemin vers le "instantclient_11_2" et aucun message d'erreur n'apparait lorsque je lance wamp (OCI.dll introuvable si le PATH non renseigné).
Et avec le phpinfo() pdo indique que oci n'est pas chargé (PDO drivers mysql, sqlite )
Je ne comprends pas le "driver not found" sachant que les modules sont activés (mais pas chargés).
Merci de votre aide
[EDIT] après avoir trifouillé wamp j'ai remarqué qu'au clic gauche sur l'icône dans la barre des tâches on pouvait activer les modules pdo_oci et oci8....
Mais du coup une nouvelle erreur apparaît :
SQLSTATE[HY000]: pdo_oci_handle_factory: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor (ext\pdo_oci\oci_driver.c:631) /
Je me penche dessus en l'attente d'une éventuelle réponse de votre part
[/EDIT]
[EDIT2]Victoire, étant donné que oracle DB n'est pas installé sur ma machine je n'ai pas certains fichiers requis, du coup apparemment les fichiers se remplacent via le code :
ce qui nous donne une chaine de connexion : pdo("oci:dbname=".$tns","usr""pwd");
Désolé pour le post inutile du coup mais peut être que ça aidera quelqu'un un jour[/EDIT]
Modifié par thlem (31 May 2012 - 12:13)
je viens vers vous aujourd'hui car j'ai un soucis depuis quelques jours que je n'arrive pas à régler.
Pour commencer je vous explique mon environnement :
- Serveur de données Oracle sur une machine distante
- serveur apache (wamp) installé en local
Je tente en vain de me connecter à ma base de données oracle via PDO.
$connexion = new DAOoracle("oci:dbname=//172.20.64.17/RefOTST", "guest", "guest");
$conn = new PDO("oci:dbname=//@IP/SID", "usr", "pwd");
Cependant le catch me retourne l'erreur "driver not found".
Les modules oci dans mon php.ini sont activés :
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll
;extension=php_oci8_11g.dll
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
La variable d'environnement PATH contient le chemin vers le "instantclient_11_2" et aucun message d'erreur n'apparait lorsque je lance wamp (OCI.dll introuvable si le PATH non renseigné).
Et avec le phpinfo() pdo indique que oci n'est pas chargé (PDO drivers mysql, sqlite )
Je ne comprends pas le "driver not found" sachant que les modules sont activés (mais pas chargés).
Merci de votre aide
[EDIT] après avoir trifouillé wamp j'ai remarqué qu'au clic gauche sur l'icône dans la barre des tâches on pouvait activer les modules pdo_oci et oci8....
Mais du coup une nouvelle erreur apparaît :
SQLSTATE[HY000]: pdo_oci_handle_factory: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor (ext\pdo_oci\oci_driver.c:631) /
Je me penche dessus en l'attente d'une éventuelle réponse de votre part

[EDIT2]Victoire, étant donné que oracle DB n'est pas installé sur ma machine je n'ai pas certains fichiers requis, du coup apparemment les fichiers se remplacent via le code :
$tns = "
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = @IP)(PORT = port))
)
(CONNECT_DATA =
(SID = monSid)
)
)
";
ce qui nous donne une chaine de connexion : pdo("oci:dbname=".$tns","usr""pwd");
Désolé pour le post inutile du coup mais peut être que ça aidera quelqu'un un jour[/EDIT]
Modifié par thlem (31 May 2012 - 12:13)