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 :

ResultSet Not Open


Sujet :

JDBC Java

  1. #1
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut ResultSet Not Open
    Salut,

    Je requete une table sas avec JDBCIOM. Et voilà le soucis.

    Ma fonction getDonneesJDBCIOM() est chargée de récupérer un ResulSet et de le parcourrir.

    Une SQLException me dit qu'il n'a pas pu faire le boulot parceque le ResultSet n'est pas ouvert.

    Je ne vois pas, habituellement, c'est bien comme ça qu'on utilise un ResulSet, non?

    Le ResultSet étant "not open". Faudrait-il l'ouvrir? Je n'ai pas vu de fonction qui ait l'air de ResultSet.open();

    Qu'en pensez-vous?

    Merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    java.sql.SQLException: Cannot perform requested operation.  ResultSet not open. 
        at com.sas.rio.MVALocalizedError.throwLocalizedException(Unknown Source)
        at com.sas.rio.MVALocalizedError.throwLocalizedException(Unknown Source)
        at com.sas.rio.MVAResultSet.next(Unknown Source)
        at rHumaines.Employes.getDonneesJDBCIOM(Employes.java:67)
        at rHumaines.Employes.<init>(Employes.java:34)
        at rHumaines.Compudistri.boiteOnglets(Compudistri.java:365)
        at rHumaines.Compudistri.<init>(Compudistri.java:80)
        at rHumaines.Main.main(Main.java:10)
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    public Vector getDonneesJDBCIOM() {
            Vector donneesVecteur = new Vector();
            ResultSet rs = MDJDBCIOM.requete();
     
            try {
                /*ResultSetMetaData rsmd = rs.getMetaData();
                int columnCount = rsmd.getColumnCount();*/
                while (rs.next() == true) { //<================== Ligne de l'erreur
                    String colonne1 = rs.getString(1);
                    String colonne2 = rs.getString(2);
                    String colonne3 = rs.getString(3);
                    String colonne4 = rs.getString(4);
                    String colonne5 = rs.getString(5);
                    String colonne6 = rs.getString(6);
                    String colonne7 = rs.getString(7);
                    String colonne8 = rs.getString(8);
                    String colonne9 = rs.getString(9);
                    String colonne10 = rs.getString(10);
                    String colonne11 = rs.getString(11);
                    String colonne12 = rs.getString(12);
                    String colonne13 = rs.getString(13);
                    String colonne14 = rs.getString(14);
                    String colonne15 = rs.getString(15);
                    String colonne16 = rs.getString(16);
     
                    //Placement des données récupérées dans un Vecteur d'Object[]
                    //La fonction trim() enlève les blancs avant et après la chaine
                    Object[] ligne = {
                            colonne1.trim(), colonne2.trim(), 
                            colonne3.trim(), colonne4.trim(), 
                            colonne5.trim(), colonne6.trim(),
                            colonne7.trim(), colonne8.trim(), 
                            colonne9.trim(), colonne10.trim(), 
                            colonne11.trim(), colonne12.trim(),
                            colonne13.trim(), colonne14.trim(), 
                            colonne15.trim(), colonne16.trim()
                            };
                    donneesVecteur.add(ligne);
                }
                return donneesVecteur;
            } catch (SQLException e) {
                e.printStackTrace();
                return null;
            }
        }

  2. #2
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Au fait, voici la fonction static ResultSet MDJDBCIOM.requete(). Méthode gracieusement mise en place par mon professeur et que j'ai réadaptée à mon goût.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    public static ResultSet requete()
        {
            MDJDBCIOM __MDJDBCIOM = new MDJDBCIOM();
            // Note: Main routine code goes here
            // only read access !!!
            // for write access, use sharenet driver with SAS SHARE server
     
             try {
                Properties iomServerProperties = new Properties();
                iomServerProperties.put("host","saskatchewan");
                iomServerProperties.put("port","8591");
                iomServerProperties.put("userName","eleve02");
                iomServerProperties.put("password","eleve02");
                iomServerProperties.put("protocol","bridge");
                Properties[] serverList = {iomServerProperties};
     
                WorkspaceFactory wFactory = new WorkspaceFactory(serverList,null,null);
                WorkspaceConnector connector = wFactory.getWorkspaceConnector(0L);
                IWorkspace workspace = connector.getWorkspace();
     
                IDataService rio = workspace.DataService();
                Connection sqlConnection = null;
                // no library declared by default like SAS SHARE !
                // We have to declare someones !
                java.util.Properties fmt = new java.util.Properties( );
                fmt.put( "librefs", "COMP '\\\\saskatchewan\\projets\\2007-2008\\CompuDistri';");
     
                // if some formats declared in these libraries !
                fmt.put("applyformats","true");
                sqlConnection = new MVAConnection(rio,fmt);
     
                Statement stmt = sqlConnection.createStatement () ;
     
                ResultSet rs = stmt.executeQuery("select * from COMP.dw_dim_emptest;") ;
     
                /* <================= Et là ça marche! Quand j'enlève les commentaires évidement
    while (rs.next()) {                
                    String numero = rs.getString ("numero_employe") ;
                    String nom = rs.getString("nom_employe");
                    String prenom = rs.getString("prenom_employe");
                    String sexe = rs.getString("sexe_employe");
                    String codePostal = rs.getString("code_postal_employe");
                    String ville = rs.getString("ville_employe");
                    String telephone = rs.getString("telephone_employe");
                    String posteTelephonique = rs.getString("poste_telephonique_employe");
                    String service = rs.getString("service_employe");
                    String dateEmbauche = rs.getString("date_d_embauche_employe");
                    String niveauEtudes = rs.getString("niveau_d_etudes_employe");
                    String pleinTemps = rs.getString("employe_a_plein_temps");
                    String categorie = rs.getString("categorie_employe");
                    String salaireMensuel = rs.getString("salaire_mensuel_employe");
                    String titre = rs.getString("titre_employe");
                    String superviseur = rs.getString("superviseur_employe");                
                    
                    System.out.println(
                            numero + " " + nom + " " + prenom  + " " + sexe  + " " + 
                            codePostal  + " " + ville  + " " + telephone  + " " + 
                            posteTelephonique  + " " + service  + " " + dateEmbauche  + " " + 
                            niveauEtudes + " " + pleinTemps  + " " + categorie  + " " + 
                            salaireMensuel  + " " + titre  + " " + superviseur);                
                }*/
     
                sqlConnection.close();
                wFactory.shutdown();
                connector.close();
                return rs;
            }
            catch (SQLException e) {
                System.out.println("Exception while establishing connection: " + e.toString());
                e.printStackTrace();
            }
            __MDJDBCIOM.destroy();
     
            return null;
        }

  3. #3
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Bon alors j'y suis arrivé à force d'éssais... Donc je ne sais pas pourquoi ç an'allait pas.

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

Discussions similaires

  1. [Turbo Pascal] Runtime error 105 - File not open for output
    Par infoz dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 03/06/2008, 15h48
  2. database not open
    Par mehdi_swatch dans le forum Administration
    Réponses: 12
    Dernier message: 14/06/2007, 17h25
  3. Could not open file
    Par DanZzz dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 29/03/2007, 15h44
  4. could not open relation with OID
    Par nuggets dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 01/08/2006, 13h09
  5. [CVS] Problème de commit (Could not open lock file)
    Par 1tox dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 19/10/2004, 11h22

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