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

JDBC Java Discussion :

[JDBC]prepareCall ne marche pas!


Sujet :

JDBC Java

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [JDBC]prepareCall ne marche pas!
    Bonjour,

    J'ai une procedure stockée sur une base Firebird. Je voudrais appeler la procedure dès Java, j'ai lu le tutoriel de java et après lui il faut juste ces duex lignes de code pour le faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CallableStatement cs = conexion.prepareCall("{call SHOW_SUPPLIERS}"); 
    ResultSet tablaRes = cs.executeQuery();
    mais je reçois le message d'error suivant:
    GDS Exception. 335544569 Dynamic SQL Error
    SQL Error code = -104
    Token unknown -line 1, char 19
    null.

    J'ai decouvert que cette erreur est derivée de la transformation qui fait java de la syntaxe escape, c'est à dire au moment que la ligne "{call SHOW_SUPPLIERS}" est transformée into "EXECUTE PROCEDURE null(SHOW_SUPPLIERS)".

    Firebird comme interbase utilise le langage ISQL et pour tant l'instruction pour appeler une procédure devrais être "EXECUTE PROCEDURE SHOW_SUPPLIERS" pas "EXECUTE PROCEDURE null(SHOW_SUPPLIERS)".

    j'ai essayé le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CallableStatement cs = conexion.prepareCall("EXECUTE PROCEDURE SHOW_SUPPLIERS");
    mais rien change.

    Est-ce que quelqu'un a une idée de comment resoudre ce problème parce que je n'y arrives pas

    Merci en avance
    [ Modéré par vedaer ]
    -> Ajout du tag dans le titre
    [ Merci de respecter les Règles du Forum ]

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    je ne sais pas si je V pouvoir t'avancer puisque j'ai toujours bossé sur Oracle, mais deja je ne vois pas l'interet d'utiliser un prepareCall() qui est pour des fonctions stockées. c'est a dire qu'il y aura des passage de variables.
    Exemple (tjrs sur Oracle )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
            Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@xxxxxx:xxxxxx:xxxxx", "xxxx", "xxxxxx");
            CallableStatement cStmt= conn.prepareCall("{call myFunction(?,?,?,?,?)}");
     
             cStmt.setString(1,"xxxx");
             cStmt.setString(2,"xxxx");
             cStmt.setString(3,"xxxx");
             cStmt.registerOutParameter(4,Types.INTEGER);
             cStmt.registerOutParameter(5,Types.INTEGER);
             cStmt.execute();

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup TriX, maintenant ça marche !

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

Discussions similaires

  1. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 09h28
  2. Maximiser fenêtre ne marche pas
    Par sandrinec dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/06/2003, 12h02
  3. Réponses: 9
    Dernier message: 07/05/2003, 12h57
  4. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 10h43
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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