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 :

MS SQL SERVER prepareCall


Sujet :

JDBC Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 181
    Par défaut MS SQL SERVER prepareCall
    Bonjour,
    Je rencontre quelques difficultés concernant l'utilisation d'une procédure stockée
    qui ne retourne rien hormis via un select (Procédure stockée):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    .....
    SELECT @ErrorType,@ErrorMess;
    Servlet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cS = cnx.prepareCall("{Call Read_File(?,?,?)}");
    cS.setString(1, filePath);
    cS.setInt(2, idp);//Program id
    cS.setString(3, desc);
    out.print("TATA");
    rs = cS.executeQuery();
    out.print("TOTO");
    //Check error status
    errorType = rs.getInt("ErrorType");
    errorMessage = rs.getString("ErrorMess");
    Et lors de l'exécution du prepareCall, netbeans affiche:
    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
    27
    L'instruction n'a pas renvoyé le jeu de résultat.
    com.microsoft.sqlserver.jdbc.SQLServerException: L'instruction n'a pas renvoyé le jeu de résultat.
            at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
            at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)
            at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(Unknown Source)
            at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
            at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
            at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
            at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
            at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(Unknown Source)
            at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
            at com.mucoma.servlet.ImportManager.processRequest(ImportManager.java:187)
            at com.mucoma.servlet.ImportManager.doPost(ImportManager.java:260)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
            at java.lang.Thread.run(Thread.java:595)
    PS: Je tiens à préciser que la proc est bien executée (SQL server profiler me l'indique)

    Merci par avance pour vos réponses.
    Cordialement,
    Daniel

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Je ne comprends pas trop, c'est une procédure stockée dont tu souhaites récupérer la paramètres "out" ou alors c'est une fonction qui renvoie le résultat d'un select ?

    As tu essayé de t'inspirer de cette partie de la FAQ ?

    Les procédures stockées et fonctions - CallableStatement

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 181
    Par défaut
    Citation Envoyé par in Voir le message
    Je ne comprends pas trop, c'est une procédure stockée dont tu souhaites récupérer la paramètres "out" ou alors c'est une fonction qui renvoie le résultat d'un select ?

    As tu essayé de t'inspirer de cette partie de la FAQ ?

    Les procédures stockées et fonctions - CallableStatement
    En faîte, il s'agit d'une procédure stockée disposant d'un select.
    Et je souhaite justement utiliser le résultat de ce select

  4. #4
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    quelle est la signature de ta procédure ?

    quand tu testes ta procédure en PL/SQL, tu t'y prends comment ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 181
    Par défaut
    Alors tout d'abord, il s'agit d'une procédure stockée sous MS SQL SERVER 2005,
    le code de ma procédure est la suivante (une partie seulement):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ALTER Procedure [dbo].[Read_File](@File VarChar(495),@Program int,@Description varchar(50))
    AS 
    BEGIN
    	DECLARE 
    .....
    	SELECT @ErrorMess AS ErrorMess,@ErrorType AS ErrorType;
    END
    @ErrorMess: Est une variable contenant des messages d'erreurs et ErrorType, le type d'erreur

  6. #6
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Je ne connais pas SQL Server mais j'imagine quand même que tu peux exécuter cette procédure ?

    comment tu appelles cette procédure en SQL Server et comment tu en lis le résultat ?

    Je dis peut être des bêtises mais pour moi tu devrais sois avoir une fonction avec un return, soit une procédure avec des paramètres "out" ...

Discussions similaires

  1. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39
  2. Quel outil choisir pour un développement SQL-Server ?
    Par Mouse dans le forum Débats sur le développement - Le Best Of
    Réponses: 23
    Dernier message: 12/08/2003, 06h23
  3. [Kylix] sql server & kylix
    Par fehmitn dans le forum EDI
    Réponses: 1
    Dernier message: 23/08/2002, 19h44
  4. Backup BD SQL Server
    Par Ethmane dans le forum Administration
    Réponses: 3
    Dernier message: 07/06/2002, 00h42

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