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 :

DNS ODBC procédure stockée [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut DNS ODBC procédure stockée
    Salut à tous,

    je suis programmeur PHP & PL/SQL débutant. J'essaye d'exécuter une procédure stocké Oracle avec PHP en passant par une connexion DNS (fonction PHP odbc_connect). Voici le programme dont j'essaye de reproduire, et que marche avec les extensions PHP OCI:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // call Oracle stored procedure 
    $stmt = OCIParse($conn_direct,"BEGIN employee_id(:p1,:p2,:res); END;");
    OCIBindByName($stmt,":p1",$p1,255);
    OCIBindByName($stmt,":p2",$p2,255);
    OCIBindByName($stmt,":res",$res,5);
    $p1 = $emp_user_direct;
    $p2 = $emp_password_direct;
    OCIExecute($stmt);
    echo " User ID : ".$res;
    Pourriez-vous, s'il vous plait, me mettre sur le bonne route. Merci pour votre aide.

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    Pas eu l'occasion d'appeler un procédure stockée encore, pour le peu de PHP que j'ai fait, maintenant je suivrais certainement ces exemples: ici

    Une question (bête) qui me viens à l'esprit de suite concerne le paramètre 'res' (le dernier de la procédure):
    . est il paramétré en 'OUT' ou bien 'IN OUT' ?
    . la procédure permet elle bien le retour de la valeur ?:
    on devrais avoir qqchose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            BEGIN
            -- bla bla
                res :=  -- un valeur
            END;
    Bon courage,
    @+
    vinc

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    Je crois que je me suis mal exprimé. L'exemple dans ma question en utilisant les fonctions OCI marche bien. Ce que je voulais est reproduire ce programme avec une autre fonction en passant par une connection DNS (obdc_connect() PHP).

    En attendant je passe par des query SQL au lieu d'utiliser les procedures stockées Oracle. Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql =  "SELECT emp_id FROM employee WHERE emp_user = '".$emp_user_dns."' AND emp_password = '".$emp_password_dns."'";
    $tab = odbc_exec($conn_dns, $sql);
    $res = odbc_result($tab, 1);
    echo " User ID : ".$res;
    J'ai une procedure stockée dans la BDD qui fait l'affaire, mais je ne sais pas comment l'utiliser. Merci pour un coup de main.

  4. #4
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Franchement,je ne vois pas l'intérêt de se connecter en ODBC à Oracle sachant qu'il y a déjà de quoi se connecter (encore pour Access,OK, mais là je ne comprends pas...)

  5. #5
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    L'objectif serait de tester les performances des differentes connexions en executant des procedures Oracle. Mais je vais le faire autrement. Merci à tous ! Je continue mes recherches

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ODBC] Exécution d'une procédure Stockée sous PHP-odbc
    Par samybelarbi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/04/2014, 09h43
  2. Procédure stockée via ODBC
    Par koktel_dfr dans le forum C#
    Réponses: 2
    Dernier message: 21/05/2010, 16h23
  3. VB .net, Odbc et Procédure Stockée
    Par Flamenco dans le forum VB.NET
    Réponses: 6
    Dernier message: 14/04/2009, 14h57
  4. Réponses: 9
    Dernier message: 18/07/2007, 11h34
  5. odbc et vues, procédures stockées
    Par jfox dans le forum Access
    Réponses: 2
    Dernier message: 28/09/2005, 14h54

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