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 :

procedure stocké, problème


Sujet :

JDBC Java

  1. #1
    Membre régulier Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Points : 78
    Points
    78
    Par défaut procedure stocké, problème
    Bonjour,

    J'exécute une procédure stocké qui devrait me remplir une table mais après exécution de mon programme la table est toujours vide...

    Voici mon code :
    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
    	private static void lancerLesControls ()
    	{
    		println ("controle en cours") ;
    		try
    		{
    			Connection connection = 
    				java.sql.DriverManager.getConnection(
    						"jdbc:oracle:thin:@" 
    						+ connectionBase.getIP() 
    						+ ":" 
    						+ connectionBase.getPort()
    						+ ":" 
    						+ connectionBase.getNomBase()
    						,
    						connectionBase.getUser()
    						,
    						connectionBase.getMDP()
    				) ;
    			CallableStatement statement = connection.prepareCall("{MA_PROD_STOC()}");
    		}
    		catch (SQLException e)
    		{
    			printErreur (e.getMessage ()) ;
    			e.printStackTrace () ;
    		}
    		println ("controle treminés") ;
    	}
    Le problème est que je n'ai aucune erreur...

    ++floanne.

  2. #2
    Membre régulier Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Points : 78
    Points
    78
    Par défaut
    Bon j'avais "juste" oublié cette ligne :


    ++floanne

  3. #3
    Membre régulier Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Points : 78
    Points
    78
    Par défaut
    Bon j'ai encore un problème :

    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
    		try
    		{
    			Connection connection = 
    				java.sql.DriverManager.getConnection(
    						"jdbc:oracle:thin:@" 
    						+ connectionBase.getIP() 
    						+ ":" 
    						+ connectionBase.getPort()
    						+ ":" 
    						+ connectionBase.getNomBase()
    						,
    						connectionBase.getUser()
    						,
    						connectionBase.getMDP()
    				) ;
    			String str = "{? = call MON_PACKAGE.MA_PROD_STOCK}" ;
    			CallableStatement statement = connection.prepareCall(str) ;
    			statement.execute () ;
    		}
    		catch (SQLException e)
    		{
    			printErreur (e.getMessage ()) ;
    			e.printStackTrace () ;
    		}
    ça me renvoie cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Paramètre IN ou OUT absent dans l'index :: 1
    j'ai essayé tout un tas de variante pour la chaine str (avec ou sans MON_PACKAGE, avec ou sans les "()" à la fin...) Mais ça plante toujours...

    A mon avis c'est une bête erreur de syntaxe.

    Si quelqu'un à une idée...

    ++floanne.

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Avant de faire le execute tu doit spécifier le type du résultat de ta fonction.
    Ton code devrait ressembler à ça
    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
     
    {
    			Connection connection = 
    				java.sql.DriverManager.getConnection(
    						"jdbc:oracle:thin:@" 
    						+ connectionBase.getIP() 
    						+ ":" 
    						+ connectionBase.getPort()
    						+ ":" 
    						+ connectionBase.getNomBase()
    						,
    						connectionBase.getUser()
    						,
    						connectionBase.getMDP()
    				) ;
    			String str = "{? = call MON_PACKAGE.MA_PROD_STOCK()}" ;
    			CallableStatement statement = connection.prepareCall(str) ;
                            statement.registerOutParameter(1,Types.VARCHAR);
    			statement.execute () ;
    		}
    		catch (SQLException e)
    		{
    			printErreur (e.getMessage ()) ;
    			e.printStackTrace () ;
    		}
    en mettant le bon type.
    Tu trouvera plus d'info si nécessaire dans la FAQ
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Membre régulier Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Points : 78
    Points
    78
    Par défaut
    Merci beaucoup, j'ai testé et ça marche.

    ++floanne.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/06/2014, 20h06
  2. Réponses: 6
    Dernier message: 30/07/2007, 10h32
  3. problème de syntaxe procedure stockée
    Par chti_juanito dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/04/2007, 15h03
  4. Réponses: 3
    Dernier message: 19/04/2006, 18h44
  5. [PowerBuilder/Oracle] Problème de procedure stockée
    Par delphine_lep dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 02/09/2004, 14h08

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