|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() |
Bonjour!
Tout d'abord, désolé si cette question à déja été posée... J'ai lancé une recherche, mais je n'ai rien trouvé... Mon problème est le suivant. Dans le cadre d'un travail de diplôme, un collègue et moi-même devont créer un base Oracle et l'interface doit être en PHP. Je suis le DBA. Mon collègue s'occupe de la partie PHP. Problème: Pour lui simplifier la vie, j'ai créer des procédures (en PL/SQL sous Oracle). Ces procédures fonctionnes parfaitement, on les lances en utilisant le SQL réservé EXECUTE d'Oracle. Le problème, c'est qu'actuellement, on ne peut pas lancer d'ordres SQL tels qu'EXECUTE. Mon collègue se connecte en ODBC avec les commandes suivantes:
Donc, moment crucial: La question. Comment faire via une couche ODBC pour éxecuter des procédures internes à la base voulue? Merci d'avance de vos réponses, parce qu'on sèche... PS: La base est en Oracle 10g, pas d'interface WEB (donc pas de serveur apache).
__________________
Merci d'éviter les UP et autres messages inutiles! Modérateur Informatique Générale (même si je me mets au Delphi) N'oubliez pas les règles! Mon adresse e-mail |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : février 2005 Messages : 124 ![]() |
Salut,
bon je te donne une astuce qui peut eventuellement marcher (a prendre vraiment au conditionnel). Dans le SGBD que j'utilise, il est possible d'exécuter une procédure par 'SELECT * from NOM_PROCEDURE (param1,param2,...)" meme si celle ci ne renvoie pas de resultat. Je n'ai aucune idée de la possibilité de cette solution sous Oracle mais sait on jamais. |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : mars 2003 Messages : 1 158 ![]() |
As-tu cherché dans la section Oracle ?
http://www.developpez.net/forums/viewtopic.php?t=254680&highlight=php
__________________
Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum. |
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() |
Citation:
Citation:
Hélas, le lien ne m'est pas utile... Si je ne m'abuse (je suis nul en PHP), OCI est une procédure qui fais appel à la base via un server WEB (apache), non? Et nous n'utilisons qu'une couche ODBC...
__________________
Merci d'éviter les UP et autres messages inutiles! Modérateur Informatique Générale (même si je me mets au Delphi) N'oubliez pas les règles! Mon adresse e-mail |
||
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Inscription : mars 2003 Messages : 1 158 ![]() |
Citation:
Les fonctions oci passent pas le pilote Oracle et les informations du tnsname. Tu n'as qu'à faire des tests.
__________________
Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum. |
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Mathias GaunardIngénieur développement logiciels Inscription : décembre 2003 Messages : 3 543 ![]() |
Pose ta fonction dans le forum Oracle, ou même Général SGBD.
Le problème n'a pas grand chose à faire avec PHP. |
|
|
00
|
|
|
#7 | |
|
Membre éclairé
![]() |
Citation:
__________________
Merci d'éviter les UP et autres messages inutiles! Modérateur Informatique Générale (même si je me mets au Delphi) N'oubliez pas les règles! Mon adresse e-mail |
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : mars 2003 Messages : 1 158 ![]() |
Teste par oci et reviens nous en parler.
__________________
Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum. |
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() |
Perso avec Oracle 8, j'éxécutais ça :
|
|
|
00
|
|
|
#10 | ||
|
Membre éclairé
![]() |
Citation:
Mais dans le cas des OCI, il devra refaire le script de connexion, juste? Ou les fonctions ODBC* fonctionnent avec les fonction OCI*? Je recherche un peu des infos sur internet, mais comme je n'y connais rien en PHP, c'est encore un peu tordu pour moi Citation:
J'essaierai déja avec les OCI... Merci beaucoup, en tout cas! je redonne des nouvelles...
__________________
Merci d'éviter les UP et autres messages inutiles! Modérateur Informatique Générale (même si je me mets au Delphi) N'oubliez pas les règles! Mon adresse e-mail |
||
|
|
00
|
|
|
#11 | ||
|
Expert Confirmé Sénior
![]() Mathias GaunardIngénieur développement logiciels Inscription : décembre 2003 Messages : 3 543 ![]() |
Citation:
Si c'est bien fait, ça prend moins de 5 minutes (quoique si il faut faire la bufferisation pour OCI ça peut prendre un peu plus longtemps) Citation:
|
||
|
|
00
|
|
|
#12 |
|
Membre éclairé
![]() |
MERCI A TOUS!
Nous avons enfin réussis. Nous utilisons BEGIN et END dans une fonction ODBC_DO (je crois, car mon collègue est à nouveau pas là, je devrai certainement apprendre le PHP d'ici à la fin de l'année, si il continue En tout cas, je suis étonné qu'EXECUTE ne fonctionne pas, puisque c'est exactement la même chose que begin/end... Étrange, mais je me suis tellement arraché de cheveux pour l'instant, que je vais me poser la question un peu plus tard, là... En tout cas, merci à tous... [EDIT] Et non, ce post n'avais pas disparu, il redescends des abîmes! Mais pour une bonne nouvelle, donc tout va bien... [/EDIT]
__________________
Merci d'éviter les UP et autres messages inutiles! Modérateur Informatique Générale (même si je me mets au Delphi) N'oubliez pas les règles! Mon adresse e-mail |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com