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

SQL Oracle Discussion :

procédure stockée Oracle depuis VB.net


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Par défaut procédure stockée Oracle depuis VB.net
    Bonjour,
    j'ai un problème lorsque j'appelle une procédure stockée depuis mon code VB.
    Ma procédure stockée est la suivante :
    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
    create or replace PROCEDURE SELECTABONNES 
    (
     nom XABO.NOMABO%type,
     prenom XABO.PNOMABO%type,
     telephone XABO.TELABO%type,
     libelleService XSCE.LBLSCE%type
    )
    As
    abo XABO.NUMABO%type;
    service XABO.SCEABO%type := TAX.SELECTSERVICE(libelleService);
     
    BEGIN
      SELECT NUMABO
      INTO abo
      FROM XABO 
      WHERE NOMABO = nom 
      AND PNOMABO = prenom
      AND SCEABO  = service;
    EXCEPTION
      WHEN no_data_found THEN
            BEGIN
              INSERT INTO XABO (NUMABO, NOMABO, PNOMABO, TELABO, SCEABO)
              VALUES (sequenceabo.nextval, nom, prenom, telephone, service );
            END; 
     
    END SELECTABONNES;
    Elle fait appel à une fonction que j'ai créé qui se nomme SELECTSERVICE.

    Lorsque je suis sous Oracle, elle fonctionne (la compilation ne sort pas d'erreur

    Mais lorsque je lance la procédure stockée depuis mon programme VB, il me sort l'erreur suivante
    ORA-06550: line 1, column 7:
    PLS-00221: 'SELECTSITE' is not a procedure or is undefined
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    Je ne sais pas pourquoi il ne veut pas la prendre. Je pense que certains ont déjà dû avoir l'erreur, aidez moi siouplè

    merci

  2. #2
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    Salut,
    il semble que ta fonction SELECTSERVICE se trouve dans le package TAX

    est-ce que ce package est dans le même schéma ?

    si oui, est-ce le schéma que tu utilises pour te connecter depuis ton appli VB ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Par défaut
    oui, tax en fait c'est la connexion donc.
    Tout est dans la meme base, c'est ca que je ne comprends pas.
    c'est quoi que tu appelles schéma? pas de schéma sous oracle . J'ai mes tables, mes séquences, mes fonctions, procédures...mais pas de schéma

    est-ce qu'il est nécessaire, quand je créé mes procédures et fonctions, que je mettes "TAX." avant le nom de chaque procédure?

  4. #4
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    ok, alors essayes d'enlexer TAX avant SelectService.

    En fait un schéma = un user.
    dans une base Oracle, chaque user peut posséder ses propres tables, séquences, index, procédures, etc...

    en général on a un (ou plusieurs) schémas "maîtres" ou "applicatifs" qui contiennent les objets et les données relatives à une application, puis des users qui n'ont pas d'objets à eux, mais des droits sur les objets du schéma applicatifs (droit de Select sur certaines tables, droit d'exécution certaines procédures, etc...)...

    comme ça, chacun se connecte avec son propre username/password, mais accède aux objets centralisés dans le schéma applicatif...

    bien sûr tu peux avoir plusieurs schémas applicatifs dans une base, et ainsi gérer les objets et les données de plusieurs applications distinctes dans une seule base de donnée.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Par défaut
    Merci bien pour tes explications sur le fonctionnement des users ^^. J'en sais un peu plus sur le fonctionnement

    J'ai essayer d'enlever TAX avant l'appel de la fonction, j'obtiens exactement la même erreur.
    J'ai éxécuteéla procédure depuis Oracle SQL Developper (l'outil que j'utilise), et ça fonctionne, mais depuis le programme VB, toujours pareil comme je viens de le dire

  6. #6
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    je viens de me rendre compte d'une chose :

    tu as une erreur qui te parles d'une procédure SELECTSITE
    PLS-00221: 'SELECTSITE' is not a procedure or is undefined
    alors que nous on regarde la procédure SELECTABONNES, qui appelle SELECTSERVICE...

    y a pas quelque chose qui coince ? tu appelles bien la bonne procédure dans ton code VB ?

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

Discussions similaires

  1. [XL-2010] Pas de retour sur un paramètre output depuis une procédure stockée oracle
    Par darmet dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/07/2014, 14h47
  2. Invoquer une procédure stockée Oracle depuis un bouton
    Par Pozzo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2008, 08h18
  3. Procédures stockées ORACLE 10g - JAVA 1.6
    Par poussinette0712 dans le forum JDBC
    Réponses: 2
    Dernier message: 27/03/2007, 00h49
  4. procédure stockée + Oracle
    Par BONNEFOI Patrick dans le forum Bases de données
    Réponses: 4
    Dernier message: 19/04/2005, 15h09
  5. procédure stockée Oracle dans delphi 6
    Par UPNE387 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2004, 09h47

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