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

Firebird Discussion :

C# et Procédure stockée


Sujet :

Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 14
    Par défaut C# et Procédure stockée
    Bonjour,

    J'essaye de récuperer le resultat d'une procédure stockée dans un dataset.

    Mon code C#:
    Code C# : 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
     
    //Dans le constructeur de la classe:
    odbcCo = new SQL.OdbcConnection( stringCo );
     
    public override D.DataSet ExecuteProcedure(string nomDB, string nomProc)
    {
       D.DataSet ds = new D.DataSet();
       try
       {
          SQL.OdbcCommand commande = new SQL.OdbcCommand(nomDB,odbcCo);
          commande.CommandType = D.CommandType.StoredProcedure;
          odbcCo.Open();
          SQL.OdbcDataAdapter da = new SQL.OdbcDataAdapter( commande );
          da.Fill( ds );
       }
       catch( Exception ex )
       {
          string msg = ex.ToString();
          ds = null;
       }
       finally
       {
          odbcCo.Close();
       }
       return ds;
    }

    Ma chaine de connexion est de type:
    Driver={INTERSOLV InterBase ODBC Driver (*.gdb)};Server=NomServeur;Database=NomServeur:E:\Bases\MaBase.GDB;Uid=Login;Pwd=MDP
    Une execution me donne dans le message que je catch:
    {"ERROR [37000] [INTERSOLV][ODBC InterBase driver][InterBase]Dynamic SQL Error, SQL error code = -104, Token unknown - line 1, char 1, MaBase" }
    Et pour finir ma procédure stockée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE PROCEDURE GET_OPERATEUR 
    RETURNS (
        ID_OP VARCHAR(20) CHARACTER SET NONE,
        ID_ASSOCIATION VARCHAR(10) CHARACTER SET NONE,
        SOCIETE VARCHAR(80) CHARACTER SET NONE)
    AS
    BEGIN
    FOR
      SELECT ID AS ID_OP, ID_ASSOCIATION AS ID_ASSO, SOCIETE
      FROM OPERATEUR
      INTO :ID_OP, :ID_ASSOCIATION, :SOCIETE
    DO SUSPEND;
    END
    Je me bat avec ca depuis plus de 3 jours je vais craquer
    Si quelqu'un a la moindre piste je suis preneur.

  2. #2
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 14
    Par défaut
    Je me suis lancé ici car j'été en train de fouiller le forum.
    Mais la section c# serait peut être plus approprié

  3. #3
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    deux remarques :
    1/ une procédure stokée renvoyant un resultat s'utilise comme une vue ou une table, donc à mon avis le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    D.CommandType.StoredProcedure
    n'est pas approprié

    2/ quelle idée d'utiliser ODBC

  4. #4
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 14
    Par défaut
    J'ai essayé en mettant cette ligne en commentaire deja, ca change strictement rien.

    J'ai remplacé le nom de la procedure par : EXECUTE PROCEDURE GET_OPERATEUR
    Et je me retrouve avec ca :
    {"ERROR [42S02] [INTERSOLV][ODBC InterBase driver][InterBase]Dynamic SQL Error, SQL error code = -204, Table unknown, GET_OPERATEUR, At line 1, column 19." }
    Pour l'ODBC, je vais essayé de fouiller un peu voir si je peux avoir une classe me permettant de me connecter autrement.

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    pas execute !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM GET_OPERATEUR
    lis ce que j'ai écris
    quand au connecteur, Firebird a un pilote natif dotnet
    http://www.firebirdsql.org/index.php...ub=netprovider

  6. #6
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 14
    Par défaut
    Je vais voir du cote du connecteur natif car meme en requete classique j'ai l'erreur de table.

    Simple curiosité, en utilisant la procédure ainsi si elle a besoin de parametre on lui donne comment ?

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

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  2. Procédure stocké:Insert et renvoie de la clé primair
    Par caramel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/04/2003, 09h34
  3. [Pervasive SQL ] procédure stockée
    Par magellan dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 25/10/2002, 13h17
  4. Explication procédure stockée
    Par underworld dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2002, 10h51
  5. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27

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