IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Interrogation procédure oracle


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut Interrogation procédure oracle
    Bonjour,

    Je suis complètement débutant dans l'exploitation de procédure oracle via php.

    On m'a donné la procédure suivante :
    Fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     OPS$PRIAP.pkb_pi_convoc.getuser('code')
    Argument en entrée :
    code number(8) ( code user )
    Argument en sortie : (Curseur)
    code number(8) ( code user )
    lib_nom_pat Varchar2(30) ( nom patronymique)
    lib_nom_usu Varchar2(30) ( nom usuel )
    lib_pr1_ind Varchar2(30) ( prénom)
    date_nai_ind Varchar2(10) ( date de naissance sous la forme dd/mm/yyyy )
    cod_etp Varchar2(30) (code inscription )
    lib_etp Varchar2(60) (libéllé inscription)
    J'ai créé la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    function testProcedure( $numuser ) {
    	/* Parametres */
    	define ( 'ORA_HOST','XXX');
    	define ( 'ORA_USER' , 'XXX' ) ;
    	define ( 'ORA_PASS' , 'XXX' ) ;
     
    	/* Initiation de la connexion */
    	$conn = oci_connect( ORA_USER , ORA_PASS , ORA_HOST ) or die ( 'Erreur connexion BDD' ) ;
     
    	/* Interrogation de la procedure */
    	$sql = 'BEGIN OPS$PRIAP.pkb_pi_convoc.getuser( :numero ); END;';
     
    	$stmt = oci_parse( $conn , $sql ) ;
     
    	/* Definition des parametres d'entree */
    	$numero = $numuser ; 
    	oci_bind_by_name( $stmt , ':numero' , $numero , 8 ) ;
     
     
    	/* Execution de la requete */
    	$result = oci_execute( $stmt ) ; 
     
    	var_dump($result);
     
    	/* Fermeture de la connexion */
    	oci_close($conn);
    }
    et je me retrouve avec l'erreur suivante :

    Warning: oci_execute() [function.oci-execute]: ORA-06550: Ligne 1, colonne 7 : PLS-00221: 'GETUSER' n'est pas une procedure ou est indefini ORA-06550: Ligne 1, colonne 7 : PL/SQL: Statement ignored in /web/htdocs/test.php on line 30
    La ligne 30 correspondant à $result = oci_execute( $stmt ) ;


    Quelqu'un pourrait-il m'aider ???

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Apparemment au vu de l'erreur, getuser est une fonction et non une procédure.

    L'appel à faire est plutôt

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select OPS$PRIAP.pkb_pi_convoc.getuser(:numero ) from sys.dual;

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/06/2010, 09h03
  2. emploi d'un sub select dans une procédure - Oracle 8i -
    Par mike devimo dans le forum Oracle
    Réponses: 2
    Dernier message: 29/03/2006, 17h18
  3. Récuperer résultat procédure Oracle (DAO)
    Par elbrujo2323 dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/02/2006, 09h53
  4. Réponses: 2
    Dernier message: 18/02/2006, 02h53
  5. [forms6i] appel d'une procédure oracle en arrière plan
    Par ahlemahlem dans le forum Oracle
    Réponses: 3
    Dernier message: 09/02/2006, 20h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo