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

WinDev Discussion :

[WD9] Appel d'une procedure stockée Oracle


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut [WD9] Appel d'une procedure stockée Oracle
    Bonjour,

    Je souhaite appeler une procédure stockée Oracle avec Windev9.
    J'ai essayé :
    - HExecuteRequeteSQL(mareq, MaConnexion, HRequeteSansCorrection, "Exec MaProc;") -> Marche pas (HRequeteDefaut marche pas non plus)
    - HExecuteRequeteSQL(mareq, MaConnexion, HRequeteDefaut, "Execute MaProc;") -> non plus (HRequeteSansCorrection marche pas non plus)
    - HExecuteRequeteSQL(mareq, MaConnexion, HRequeteSansCorrection, "Exec MaProc;end;/") -> non plus (HRequeteDefaut idem)
    SQLExec("Exec MaProc;",mareq) -> non plus

    Mais je n'ai aucune erreur... Ma procédure stockée doit me modifier un champ, c'est comme ça que je vois qu'elle n'est pas appelée ou qu'elle s'éxécute mal.

    Ca fait 3 jours que je cherche sur tous les forums et personne ne sait me répondre.

    Pouvez-vous m'aider ?

  2. #2
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    Il existe un fil sur les forums de l'éditeur avec une solution alambiquée mais fonctionnelle (passage par Access comme middleware).

    La P/S contient-elle un commit ? pour valider les actions
    Quel type d'accès ? natif , oledb, odbc, sqmx ?
    Emmanuel Lecoester
    => joomla addict.

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci de m'avoir répondu, tu es le premier...

    La procédure stockée ne contient pas de commit mais je le fais dans mon code juste après
    J'accède à la base Oracle par ODBC
    Peux-tu développer le fait de passer par access pour executer ma procédure stp ?

  4. #4
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    L'ODBC c'est pas top. Ci-dessous le code repris du fil

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    Voila l'exemple pour l'utilisation des procédures stockées avec récupération des valeur renvoyées:
     
    maconnexion est un objet Automation("ADODB.Connection")
    cmd est un objet Automation dynamique
    DossierAppel est une chaîne =nom de la base+".GES_APPEL_EXT."
    datasource est une chaîne
    chaineconnexion est une chaîne
    datasource=chaine contenu dans le tnsname.ora
     
    //creation de la connexion oracle
    //chaine de connection
    chaineconnexion = "Provider=MSDAORA ;Data Source="+ datasource + ";USER ID=" + paramOracle.login + ";PASSWORD=" + paramOracle.password + ";"
    maconnexion>>ConnectionString = chaineconnexion
    //ouverture de la connexion
    maconnexion>>open
     
    //ouverture de la session
    cmd=allouer un objet Automation("ADODB.Command")//(equivalent sous vba à set cmd= new comman)
    cmd>>ActiveConnection=maconnexion
    cmd>>commandText=DossierAppel+"OPENSESSION"
    cmd>>Commandtype=4 //adcmdStoredProc
    //mise à jour des parametres
    cmd>>Parameters>>Refresh
    cmd>>Parameters("USER")>>Value = "Admin"
    cmd>>Parameters("PWD")>>Value = "Admin"
    cmd>>execute("","",128)//128=adExecuteNoRecords
     
    //'====================Creation entete du devis =============================
     
    //creation de l'entete du devis
     
    cmd>>CommandText = DossierAppel + "CREATIONENTETEDC"
    cmd>>CommandType = 4
    //met a jour les parametres
    cmd>>Parameters>>Refresh
    //on renseigne les parametres
    cmd>>Parameters("CODETIERS") = code du tiers
    cmd>>Parameters("CODEDEPOT") = ""
    madate est une Date=DateSys()
    cmd>>Parameters("DATEDOCUMENT") = la date
    cmd>>Execute("", "", 128)
    //on recupere les valeur de retour
    codedocutil est une chaîne = cmd>>Parameters("CODEDOCUTIL")>>Value
    codeinterne est un entier = cmd>>Parameters("CODEDOCINTERNE")>>Value
    A adapter bien sur.
    Emmanuel Lecoester
    => joomla addict.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    j'ai eu ce probleme il y a 5 ans :
    depuis j'utilises l'acces alternatif OTL4WD.

    http://www.sqlmanagerx.com/websqlx/h...ex.php?page=16

    si tu veux voir comment ca s'utilise la documentation est bien faite et apres une petite periode de prise en main ça deroule tres tres vite à l'utilisation.

    Pour te donner une idée télécharge l'exemple http://www.sqlmanagerx.com/SQLManage...lter-natif.rar

    gros avantage : l'auteur de cet acces est tres reactif sur le support de son produit.

    inconvenient : pas de gestion de l'analyse (mais comme je ne connecte que tres rarement mes applis à des analyses Hf, ca ne pose aucun probleme)

    sinon autre solution :
    Si ta proc ne renvoi pas de donnees transforme-là en fonction et appelle la fonction dans un select classique

    "select maFonction(param_fonction) as vRetour from dual "

    vretour sera un code retour renvoyé par ta fonction pour savoir si ton code PL s'est bien exécuté

  6. #6
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par tjfromparis Voir le message
    sinon autre solution :
    Si ta proc ne renvoi pas de donnees transforme-là en fonction et appelle la fonction dans un select classique

    "select maFonction(param_fonction) as vRetour from dual "

    vretour sera un code retour renvoyé par ta fonction pour savoir si ton code PL s'est bien exécuté
    Ta solution ne fonction QUE si ta fonction est pure donc qu'elle ne fait aucun insert / update.
    Emmanuel Lecoester
    => joomla addict.

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    J'ai télécharger ce que l'on m'a indiqué et ce n'est pas une version 7.5.
    Je sais qu'il n'est pas possible d'ouvrir un fichier v10 avec une v9, c'était justement le problème !!

    Je vais essayer avec le lien que tu m'as donné

Discussions similaires

  1. [CR XI] Comment utiliser une procedure stockée oracle avec crystal report XI
    Par saidms dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 03/01/2011, 09h28
  2. [Oracle] PHP ne retourne que la dernière ligne d'un resultat d'une procedure stockée ORACLE
    Par tytous dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 08/06/2010, 07h57
  3. executer une procedure stocké Oracle dans Perl
    Par makohsarah dans le forum SGBD
    Réponses: 2
    Dernier message: 29/04/2009, 18h15
  4. Réponses: 7
    Dernier message: 16/12/2005, 10h15
  5. Appel a une procedure stockée en vba
    Par The_Nail dans le forum VBA Access
    Réponses: 36
    Dernier message: 01/04/2003, 16h44

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