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

VB 6 et antérieur Discussion :

[VB/Oracle]Pb d'appel procedure stocké


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Par défaut [VB/Oracle]Pb d'appel procedure stocké
    Bonjour,

    je souhaiterais savoir comment appeler une procédure stocké dans oracle à partir de vb6.

    Ma procédure comporte 10 parametres avec 1 parametre en entrée et les 9 autres en sortie.

    J'ai testé le code ci dessous mais il me fait une erreur
    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
     
        date_trait = InputBox("Entrez la date de traitement anneemoisjour(ex : 20080325)")
        pr_Connection
        strSQL = "SKODA.ADM_COURRIER.PR_ADM_COURRIER"
     
        Set CPw2 = New ADODB.Command
     
        With CPw2
          .ActiveConnection = sadoconnect  ' Provider=OraOLEDB.Oracle.1;Password=skoda;Persist Security Info=True;User ID=skoda;Data Source=miprprod
          .CommandText = strSQL
          .CommandType = adCmdStoredProc
          .Parameters.Refresh
        End With
     
        Set Param1 = New Parameter
        With Param1
            .Direction = adParamInput
            .Type = adVarChar
            .Name = "w_dtrait"
            .Size = 10
        End With
        CPw2.Parameters.Append Param1
        CPw2("w_dtrait").Value = date_trait
        CPw2.Execute
    --> erreur 3708 : Objet parameters défini de manière incorrecte. Des informations incohérentes ou incomplète ont été fournie

    ==> apparement mes paramètres sont mal passés mais je ne vois comment je peux les passer justement car je voudrais récuperer mes parametres de sortie pour pouvoir les exploiter.

    Merci de votre aide par avance.

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Par défaut
    J'ai testé sur une petite^procédure toute simple qui est stocké sur oracle avec deux parametres (1 entrée, l'autre en sortie) et je cherche a recuperer la valeur de sortie mais ca me fait exactement la meme erreur... vb me dit que l'objet parametre est mal définie...

    quelqu'un a une idée d'ou vient le problème ??

    voila lapetite procédure stocké sur oracle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    PROCEDURE TEST_PROC_STOCK
       ( param1 IN varchar2,
         param2 OUT varchar2)
       IS
     
    BEGIN
        param2 :='toto';
        dbms_output.put_line(param2); 
     
    END;
    et voila le code sous vb

    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
     
        Dim Param1, Param2 As Parameter
        'Connexion 
        pr_Connection
     
        strSQL = "TEST_PROC_STOCK"
        Set CPw2 = New ADODB.Command
        With CPw2
          .ActiveConnection = sadoconnect  ' =Provider=OraOLEDB.Oracle.1;Password=skoda;Persist Security Info=True;User ID=skoda;Data Source=miprprod
          .CommandText = strSQL
          .CommandType = adCmdStoredProc
          .Parameters.Refresh
       End With
     
     
        With CPw2
            .Parameters.Append .CreateParameter("P_entree", adVarChar, adParamInput, 10, "Titi")
            .Parameters.Append .CreateParameter("P_Sortie", adVarChar, adParamOutput, 10)
            .Execute
        End With
        strSortie = CPw2("P_sortie").Value
    siouplé ??

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    spécifie une valeur d'entrée non ? Je sais pas sinon ... essaye sans le "with", en spécifiant "command" à chaque fois

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Par défaut
    Citation Envoyé par Vld44 Voir le message
    spécifie une valeur d'entrée non ? Je sais pas sinon ... essaye sans le "with", en spécifiant "command" à chaque fois
    salut,

    dans le premier code, j'ai deja spécifié une valeur d'entrée qui est date_trait sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CPw2("w_dtrait").Value = date_trait
    De plus, le fait de mettre "CPw2" à chaque ligne sans le with ne change strictement rien à l'erreur produit

Discussions similaires

  1. Appel Procedure stockée
    Par pelvisce dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2008, 17h37
  2. appel procedure stockée
    Par roblescriso dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/03/2008, 14h55
  3. [Data] appel procedure stocké valeurs retourné erroné
    Par nadhem dans le forum Spring
    Réponses: 1
    Dernier message: 04/10/2007, 14h21
  4. Appel procedure stockée oracle avec php
    Par CYCLOPE91440 dans le forum Oracle
    Réponses: 17
    Dernier message: 09/02/2007, 10h08
  5. [C#] [Oracle] Probleme avec une procedure stockée
    Par sronin1 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 28/05/2004, 19h04

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