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 :

connection ODBC sur un fichier excel


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut connection ODBC sur un fichier excel
    Bonjour,

    Je voudrai réaliser une questionnaire en java, questionnaire qui interogera une base de donnée inclue dans un fichier excel ( .xsl) donc je me pose plusieurs question :

    Premièrement, comment établir la connection avec ce fichier excel, j'ai vaguement lu qu'il fallait utiliser les connecteur ODBC mais je ne sais pas comment faire.

    Ensuite, dois je utiliser un fichier excel par classe ou bien puis utiliser plusieur classe sur un même fichier excel?

    Et pour terminer, je suppose que si je réalise ma bdd sur des fichier excel, je ne pourrais pas faire apparaitre les dependance avec les bdd, du moin il n y aura pas de dependance "physique" mais je pourrais toujours cré un champs qui me servira à faire une référence sur une autre table.

    merci à vous d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut
    J'ai essayer ça :

    import java.io.*;
    import java.net.*;
    import java.sql.*;
    import java.util.*;

    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
    public class test{
       public static final String DRIVER_NAME =
              "sun.jdbc.odbc.JdbcOdbcDriver";
       public static final String DATABASE_URL = "jdbc:odbc:bdd.xls";
     
       public static void main(String[] args)
          throws ClassNotFoundException, SQLException{
          Class.forName(DRIVER_NAME);
          Connection con = null;
          try {
             con = DriverManager.getConnection(DATABASE_URL);
             Statement stmt = con.createStatement();
             ResultSet rs = stmt.executeQuery
                ("select lastname, firstname, id from [Sheet1$]");
             while (rs.next()) {
                String lname = rs.getString(1);
                String fname = rs.getString(2);
                int id = rs.getInt(3);
     
                System.out.println(fname + " " + lname + "  id : " + id);
             }
             rs.close();
             stmt.close();
          }
          finally {
             if (con != null)
                con.close();
          }
       }
    }

    et j'obtiens les erreurs suivantes :

    Exception in thread "main" java.sql.SQLException: [Microsoft][Pilote ODBC Excel] La table externe n'est pas dans le format attendu.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at test.main(test.java:16)
    donc je ne sais pas ce qu'il entend par format :s

    en fait j'ai repris l'exemple d'ici : http://www.rgagnon.com/javadetails/java-0362.html

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut
    finalement résolu grâce à ce 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.DriverManager;
    public class test
    {
        public static void main( String [] args )
        {
            Connection c = null;
            Statement stmnt = null;
            try
            {
                Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                c = DriverManager.getConnection( "jdbc:odbc:quest", "", "" );
                stmnt = c.createStatement();
                String query = "select question from [ques$];";
                ResultSet rs = stmnt.executeQuery( query );
     
                System.out.println( "Found the following :" );
                while( rs.next() )
                {
                    System.out.println( rs.getString( "question" ) );
                }
            }
            catch( Exception e )
            {
                System.err.println( e );
            }
            finally
            {
                try
                {
                    stmnt.close();
                    c.close();
                }
                catch( Exception e )
                {
                    System.err.println( e );
                }
            }
        }
    }

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 6
    Points
    6
    Par défaut
    Bonjour jonathanC je dois faire la meme chose que vous et j'ai le meme code que le tiens j'ai creer l'ODBC a travers Panneau de configuration j'ai ajouter le JDBC excel sous myeclipse mais je recois l'erreur suivante
    [Microsoft][Pilote ODBC Excel] Le moteur de base de données ne peut pas trouver 'bd3$'. Assurez-vous que le nom de paramètre ou d'alias est valide, qu'il ne comprend pas de caractère ou de ponctuation incorrect et qu'il n'est pas trop long.
    et j me suis poser la question suivante comment j vais preciser a myeclipse l'ODBC que j'ai creer j'ai utiliser la chaine de connexion suivante
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
    c = DriverManager.getConnection( "jdbc:odbc:qa-list", "", "" );

    mais j'arrive pas a lire de mon fichier excel SVP aider moi a resoudre se probleme

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

Discussions similaires

  1. Nombre de connections simultanées sur un fichier ?
    Par smarties dans le forum Statistiques
    Réponses: 7
    Dernier message: 12/11/2006, 01h35
  2. travail a plusieurs sur un fichier excel
    Par pierre56680 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2006, 19h37
  3. [VBA] Requête SQL sur un fichier excel ?
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/01/2006, 23h06
  4. [Excel] Travailler sur un fichier excel existant
    Par scoder dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/10/2004, 12h54
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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