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

Zope Python Discussion :

passage de parametres dans procedure stocké oracle


Sujet :

Zope Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Par défaut passage de parametres dans procedure stocké oracle
    Bonjour,
    Je souhaiterais faire appel à une proc stock oracle en passant 2 param, je developpe avec le CMS Plone. Voici mon script Python:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    res=context.getDatQuest(PARAM1=p_datele, PARAM2=p_cod )
    if res:
      return res.fetchone()
    'ai verifier, je recupere bien les 2 params de ma page zpt. Donc dans l'appel de la proc j'ai essayé plusieurs solutions en voici une:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Procedure Name : maproc(PARAM1, PARAM2)
    Acquire Arguments : from request //un des param viens d'un request d'un form et l'autre varchar en dur
    Et en dessous il me gratifie d'un message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Procedure Description    maproc(PARAM1, PARAM2) is not a valid stored procedure
    Hors j'ai testé maproc sur oracle et elle fonctionne, je pense que c'est la façon dont je l'appel.
    Le prob c'est que je ne trouve pas de bonne doc! Alors si quelqu'un a une idée ou une bonne doc ou les deux vous êtes le bienvenu.
    Merci d'avance

  2. #2
    Membre éprouvé Avatar de HexChit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 127
    Par défaut
    Voila comment appeler une procedure Oracle depuis un ZSQL method :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CALL tabase.taprocedure(<dtml-sqlvar param1 type=sontype>,<dtml-sqlvar param2 type=sontype>,...)
    Vérifie bien que tu a donné les droits en execution pour ton Plone et que tu utilise bien la bonne base dans ta ZSQL method

    Ou alors tu as un produits Zope qui s'apelle Z Oracle Stored Procedure qui te faciliterais la tâche.

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Par défaut
    Merci pour ta réponse, justement j'utilise les Z_Oracle_Stored_Procedure et c'est dans cet ecran qu'il m'affiche les messages que j'ai posté precedement.
    Du coté de l'interface publique il sort ce type d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Type de l'erreur
        AttributeError
    Valeur de l'erreur
        _v_proc
    Je ne trouve pas de bonne doc sur les Z_Oracle_Stored_Procedure et sur le fait de passer des parametres.
    Je ne sais pas quelle option mettre dans "Acquire Arguments" , je suis tenté de mettre from request puisque un des deux parametres provient d'un formulaire recupéré en Request mais l'autre est un varchar.
    Merci pour votre aide.

  4. #4
    Membre éprouvé Avatar de HexChit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 127
    Par défaut
    Ou alors tu as un produits Zope qui s'apelle Z Oracle Stored Procedure qui te faciliterais la tâche.
    En fait je disais ça mais je n'en ai jamais utilisé enfin si mais jamais jusqu'au bout puisque je crois que j'ai eu des erreurs et j'ai laché l'affaire ... J'avoue que niveau doc, y'en a pas masse sur les Z Oracle stocproc... Une autre solution si tu disposes des ZSQL Methods c'est de faire des CALL (ce que je fais moi même et ça marche nickel ).

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Par défaut
    merci pour le conseil, je dispose bien de cet outils et je vais essayé de m'en servir. Comme tu a l'air de bien le connaitre, si tu as d'autres conseils n'hesites pas, encore merci.

  6. #6
    Membre éprouvé Avatar de HexChit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 127
    Par défaut
    Alors dans ces cas si tu utilises les ZSQL Methods, tu peux utiliser les dtml. Mais il faut surtout mettre des balises <dtml-sqlvar> et non des <dtml-var> pour tes variables... ceci afin d'eviter que quelqu'un puisse injecter du code SQL dans tes méthodes.
    Enfin tu le sais peut être déjà

Discussions similaires

  1. Appel de procedure stocké oracle dans zend framework
    Par Essedik dans le forum Zend_Db
    Réponses: 3
    Dernier message: 20/06/2014, 09h04
  2. [Débutant] Parametre de sortie dans procedure stockée
    Par mayekeul dans le forum C#
    Réponses: 12
    Dernier message: 17/02/2012, 13h27
  3. Réponses: 4
    Dernier message: 10/12/2009, 15h08
  4. executer une procedure stocké Oracle dans Perl
    Par makohsarah dans le forum SGBD
    Réponses: 2
    Dernier message: 29/04/2009, 18h15
  5. pb parametre dans procedure stockée
    Par maysa dans le forum SQL Procédural
    Réponses: 10
    Dernier message: 27/04/2009, 15h42

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