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

SGBD Perl Discussion :

dbi et appel de fonction


Sujet :

SGBD Perl

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 319
    Points : 80
    Points
    80
    Par défaut dbi et appel de fonction
    Bonjour,

    est-il possible avec le module DBI et DBD::Oracle,
    de recuperer dans mon script perl, le resultat que me retourne une fonction créer sur oracle ?


    merci

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 241
    Points : 272
    Points
    272
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    my $dbh = DBI->connect(.....);
     
    my $query = "SELECT maFonction('unParam') as ret";
    my $result = $dbh->selectrow_hashref($query);
    print $result->{ret};
    Linux because rebooting is just for adding medias

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    J'ai le même soucis et la solution proposer ne fonctionne pas.
    Quelqu'un pour aider ?

    Code de la fonction oracle:
    (iType IN VARCHAR2, iNberMaxOfEvents IN NUMBER, iDebug IN NUMBER default 0) RETURN NUMBER
    IS
    BEGIN
    RETURN (5);
    END FN_TESTPERL;

    Appel DBI via PERL
    my $query = "SELECT FN_TESTPERL('REL',1) as ret";
    my $result = $vgsDbSession->selectrow_hashref($query);
    print $result->{ret};

    ERROR
    DBD::Oracle::db selectrow_hashref failed: ORA-00923: mot-clÚ FROM absent Ó l'emplacement prÚvu (DBD ERROR: error possibly near <*> indicator at char 34 in 'SELECT FN_TESTPERL('REL',1) as ret<*>') [for Statement "SELECT FN_TESTPERL('REL',1) as ret"]

    Merci à tous !

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Avec Oracle, le FROM est obligatoire. Lorsqu'on veut un résultat sans lien avec une table, on utilise généralement la vue DUAL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT fonction(parametre) FROM dual

Discussions similaires

  1. Appeler une fonction avec "action" ds un
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 14h54
  2. Réponses: 4
    Dernier message: 19/04/2004, 13h41
  3. [JSP] Appeler une fonction
    Par Patrick95 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 23/12/2003, 13h44
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48

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