|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||||
|
Candidat au titre de Membre du Club
![]() Celine Delfuego Inscription : mai 2010 Messages : 36 ![]() |
Bonjour,
Je perds patience et n'ai quasiment plus de cheveux sur la tete >.< Je cherche a me connecter a Oracle 9i. La connexion marche puisque j'arrive a me connecter en utilisant Crystal Report, tnsping donne un resultat satisfaisant, et je peux faire des requete SQL avec SQL Plus... Mais via php c'est le desastre complet et pourtant c'est mon but ultime: UTILISER PHP POUR ATTEINDRE ORACLE!! Contexte:
Il y a l'Instant client et OraHome92, car j'ai essaye toutes les methode que j'ai trouve. J'ai unset et set ORACLE_HOME et NLS_LANG une bonne dizaine de fois, j'ai essaye de reinstaller mpr.dll, j'ai mis ora92 et oci8 dans le repertoire System32... tout. Et RIEN. J'ai meme fait une connection ODBC qui marche (j'ai un succes lors du test) mais rien avec php!! les essaies: Code PHP :
Code PHP :
Code PHP :
et toujours la meme erreur (quoi que non parfois ca change, mais le plus souvent: Citation:
Je vais devenir chèvre ![]() Celine |
|||||||
|
|
00
|
|
|
#2 |
|
Inscription : août 2006 Messages : 158 ![]() |
Bonjour,
Je m'y connais pas en PHP, j'ai simplement fait une recherche Google sur to ncode erreur et j'ai trouvé pas mal de liens dont un à l'air de ressembler à ton problème : http://www.developpez.net/forums/d85...in-sqlconnect/ Sinon hésites pas à utiliser Google aussi |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Celine Delfuego Inscription : mai 2010 Messages : 36 ![]() |
Aaarrrgghh!
Ca y est, je deviens chevre Merci beaucoup pour ton conseil... Argh! Tu me fends le coeur...C'est une insulte (a dire avec l'accent marseillais) Bien sur que je google avant de poster un message ici. Ca fait un mois que je google En plus la solution essayee dans ton lien est sensiblement la meme que la mienne (numero 2) et je n'ai pas le meme message d'erreur (na! d'abord) En tous cas merci, mais ca ne fonctionne touyours po Celine |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
C'est odbc et rien d'autre que tu dois utiliser ?
Parce que si tu as installé oci8, c'est plutôt oci_connect que tu dois utiliser plutôt que odbc_connect. The Underground PHP and Oracle Manual Dans le pdf chapitre 9 page 101 CONNECTING TO ORACLE USING OCI8 devrait t'aider, mais vérifie avant que ton installation est conforme, tout est dans le pdf. |
|
|
10
|
|
|
#5 | |||
|
Candidat au titre de Membre du Club
![]() Celine Delfuego Inscription : mai 2010 Messages : 36 ![]() |
Ben j'ai persiste sur l'odbc, car l'oci me faisait la tete quoi que je fasse (pourtant j'ai suivi toute les consignes du pdf joint)
Et apres de nombreuses batailles acharnees j'ai reussi (le probleme c'est qu'au final je ne sais pas ce qui a vraiment marche) mais j'utilise Microsoft ODBC pour oracle; je cree le DSN et je l'exploite... Ca marche. Par contre, ma joie fut de courte duree T-T Car finalement tous ces tests etaient en localhost, sur ma petite machine windows XP 32-bit... mais le but est ensuite de mettre tout ca sur le server... 64 bit!! Et la c'est le drame! La methode ne marche plus. J'ai bien reussi a creer un DSN avec Microsoft ODBC pour Oracle, mais en passant par le odbcad32.exe qui est sous SysWOW64... mais j'obtiens l'erreur Citation:
Citation:
Petite update: j'ai essaye la methode http://blogs.oracle.com/opal/entry/u...ith_32-bit_php qui dit de tout mettre sous SysWOW64, et... Citation:
Une idee? (desolee pour le temps de reponse... j'avance sur plusieurs problemes en meme temps pour eviter de devenir chevre, mais du coup certains problemes avancent tres lentement) |
|||
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Celine Delfuego Inscription : mai 2010 Messages : 36 ![]() |
Yeeeaaaahhh!!
J'ai enfin trouve!! Donc, les différentes recherches m'ont amenés aux résultats suivant pour Windows Server 2008 R2 - 64 bits avec Apache: 1. Télécharger l'instant client basic 11g - 32 bits (peu important la version de la base de données Oracle, 11g comprend les DB plus anciennes) 2. Le dezipper sous Windows/SysWOW64/Instantclient (important pour php qui est en 32 bits; system32 est pour le 64bits) 3. Dans les variables d'environment windows, updater le PATH en rajoutant C:/Windows/System32/InstantClient (et ajouter NLS_LANG si nécessaire) (windows ira automatiquement chercher dans sysWOW64 pour php en détectant que celui-ci est 32bits; donc ne pas s'inquiéter et indiquer System32) 4. copier les dll de l'instant client sous SysWOW64 et Apache/bin (très important ce dernier point... c'est ca qui a tout changé; le reste est indiqué dans tout les manuels php Oracle sur internet) (je les ai peut être copie ailleurs... mais je ne sais pas quel autre dossier nécessite vraiment les dll; dans apache/bin, je n'ai pas cherché j'ai copié TOUTES les dll) 5. Rajouter l'extension php_oci8_11g dans la configuration de php (la, si ca beug il faut vérifier si il ne manque pas des dll dans php/ext) 6. redémarrer le PC pour les variables windows J'ai fait d'autres manip que je ne pense pas être forcement nécessaires mais il fallait que je trouve une solution (telle que rajouter les SetEnv dans http (config apache) ou les TNS_ADMIN setting avec un folder contenant tnsnames.ora) (ah, et ne pas initialiser ORACLE_HOME; ca ne sert définitivement a rien pour l'instant client) En tous cas: CA MARCHE!! Mouhahaha! C'est toujours jouissif de trouver la solution! ![]() (happy) |
|
|
00
|
|
|
#7 | |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
Juste petite rectification :
Citation:
Par un exemple, un client 11g ne peut se connecter à un 8i ou 9.0...
__________________
Vincent Rogier. Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique ! OCILIB (C Driver for Oracle) Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle |
|
|
00
|
|
|
#8 | |
![]() Inscription : décembre 2002 Messages : 2 385 ![]() |
Citation:
Pour le reste, il faut distinguer "fonctionner" et "être supporté". D'après la note Metalink 207303.1, Oracle assure tout à fait le support pour la combinaison client 11g <--> serveur 9iR2. Alors qu'il n'y a pas de support, par exemple, pour le couple client 8i <--> serveur 11g. Pourtant, un client m'a récemment certifié qu'ils ont une application qui fonctionne parfaitement, depuis des mois, entre en client 8.1.7 et un serveur 11.2.
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com