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 :

type ARRAY en Java et PL/SQL


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Par défaut type ARRAY en Java et PL/SQL
    Bonjour,

    Afin de decharger un peu mon programme java j'ai ecris une fonction en pgsql qui prend en parametre d'entrée 2 tableaux, un de type String l'autre de type entier.

    Seulement voila, quand j'appelle cette fonction depuis mon prog java j'ai une erreur de type : ERROR: missing dimension value.
    C'est une erreur de pgsql.

    Je m'explique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // mes 2 tableau a envoyer
    String[] seq = new String[v.size()];
    int nb[] = new int[v.size()];
    // Ma requete (la fonction en pgsql s'appelle moteur)
    String requete = "select moteur('"
    	        	+ seq + 		"','" 
    	        	+nb+			"',"
    	        	+v.size()+		")";
    System.out.println(requete);
    L'affichage de la requete donne :

    select moteur([Ljava.lang.String;@f6a882,[I@1b104d7,12)

    Ce que la fonction pgsql ne comprend pas bien evidement.

    J'aimerai savoir comment il est possible d'envoyer un tableau valide a une fonction pgsql. En fouillant "beaucoup" sur le net j'ai vu un post parlant d'une Methode setString de la classe java.Sql.Array mais sur la doc de sun cette methode n'est pas indiquée.

    Si quelqu'un connait une solution...

    Merci par avance

    Edenyorke

  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 pense qu'il fait plutot que tu jettes un oeil du côté des CallableStatement.
    L'appel à une fonction SQL est différent de la simple exécution d'une requete "texte" ...

    Tout ça c'est dans la

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Par défaut
    En fait j'ai trouvé une petite astuce

    plutot que d'envoyer mes 2 tableaux dans ma requete, je construis ma requete en deployant mes tableaux

    en gros plutot que de faire :

    select moteur('montab1', 'montab2');

    je fais

    select moteur('{valeur1montab1,...,valeurNmontab1}','{valeur1montab2,...,valeurNmontab2}');

    construit avec une concatenation de mes valeurs dans une String

  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
    Je te conseillerais quand même de passer par un Callablestatement ... c'est fait pour

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/11/2008, 18h13
  2. [Tableaux] Variable de type array dans un formulaire
    Par ThAOTh dans le forum Langage
    Réponses: 3
    Dernier message: 14/03/2006, 17h49
  3. est ce que existe type struct en java comme en c ?
    Par bill7 dans le forum Langage
    Réponses: 10
    Dernier message: 11/01/2006, 10h02
  4. comment faire un message de type "alert" en java
    Par fracam dans le forum Composants
    Réponses: 4
    Dernier message: 05/12/2005, 17h03
  5. Java et PL SQL
    Par kameleo10 dans le forum JDBC
    Réponses: 3
    Dernier message: 28/09/2005, 17h01

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