2014-07-25 15 views
8

Ho cercato di capire come far funzionare SQLite su eclipse juno. Ho seguito le istruzioni su questo sito http://wiki.eclipse.org/Connecting_to_SQLite. Il problema non è che ogni passo sia esattamente come spiegato, quindi immagino che sia giusto o no. Sento che probabilmente ho ottenuto tutto corretto fino al passaggio 13, non esiste alcuna voce di connessione JDBC modello SQL. Così ho provato il punto 13-16 con un JDBC generico e uno con SQLite. Quello SQLite non ha un driver che non è una sorpresa a causa del passaggio 5. Qualsiasi modo che ho provato finora finisce con il ping fallito con i dettagli elencati di seguito. Qualcuno deve avere un modo migliore attraverso questo processo.ho bisogno di aiuto per configurare SQLite su eclipse con java per la prima volta

java.sql.SQLException: java.lang.UnsatisfiedLinkError: SQLite.Database.open(Ljava/lang/String;I)V 
at SQLite.JDBCDriver.connect(JDBCDriver.java:68) 
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.createConnection(JDBCConnection.java:328) 
at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105) 
at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54) 
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:96) 
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnectionFactory.createConnection(JDBCConnectionFactory.java:53) 
at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83) 
at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359) 
at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76) 
at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59) 
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 

risposta

16

Assicurati di ottenere il driver dal https://bitbucket.org/xerial/sqlite-jdbc/downloads, quindi importare il driver nel progetto.

enter image description here

enter image description here

ora è possibile testare la configurazione con la creazione di una classe Java Sample.java

import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.ResultSet; 
    import java.sql.SQLException; 
    import java.sql.Statement; 

    public class Sample 
    { 
    public static void main(String[] args) throws ClassNotFoundException 
    { 
     // load the sqlite-JDBC driver using the current class loader 
     Class.forName("org.sqlite.JDBC"); 

     Connection connection = null; 
     try 
     { 
     // create a database connection 
     connection = DriverManager.getConnection("jdbc:sqlite:sample.db"); 

     Statement statement = connection.createStatement(); 
     statement.setQueryTimeout(30); // set timeout to 30 sec. 


     statement.executeUpdate("DROP TABLE IF EXISTS person"); 
     statement.executeUpdate("CREATE TABLE person (id INTEGER, name STRING)"); 

     int ids [] = {1,2,3,4,5}; 
     String names [] = {"Peter","Pallar","William","Paul","James Bond"}; 

     for(int i=0;i<ids.length;i++){ 
       statement.executeUpdate("INSERT INTO person values(' "+ids[i]+"', '"+names[i]+"')"); 
     } 

     //statement.executeUpdate("UPDATE person SET name='Peter' WHERE id='1'"); 
     //statement.executeUpdate("DELETE FROM person WHERE id='1'"); 

      ResultSet resultSet = statement.executeQuery("SELECT * from person"); 
      while(resultSet.next()) 
      { 
       // iterate & read the result set 
       System.out.println("name = " + resultSet.getString("name")); 
       System.out.println("id = " + resultSet.getInt("id")); 
      } 
      } 

    catch(SQLException e){ System.err.println(e.getMessage()); }  
     finally {   
      try { 
        if(connection != null) 
        connection.close(); 
        } 
      catch(SQLException e) { // Use SQLException class instead.   
       System.err.println(e); 
      } 
     } 
    } 
} 

Il codice creerà un database denominato sample.db, l'inserimento di dati in, e poi stampa il filari.

+0

fammi sapere se questo non funziona. –

+0

ha inserito 2 persone con il loro id. Quindi penso che abbia funzionato come pianificato ma non sono sicuro che sia quello che sto cercando. Dove vengono salvate queste informazioni. assomiglia molto ad un arraylist. Nel mio progetto metto gli studenti in un arraylist da un file CSV.txt, quindi aggiungo o tolgo punti. Voglio che questi punti e nomi vengano salvati in DB, quindi dopo un mese di esecuzione di questo programma voglio esportare in Excel e cancellare il DB. So che un elenco di array perderà i dati quando chiudo il programma ma lo farà? Se lo fa allora hai capito bene, e per favore indirizzami verso un tutorial per aiutarmi con il DB – Chad

+1

Inizio a pensare che stai solo chiedendo molto senza provare te stesso, penso che la mia risposta sia ciò di cui hai bisogno (Come hai chiesto per la configurazione in Eclipse) in più ho dato un semplice tutorial su come creare, inserire, selezionare l'operazione dal DB, e per il db, il suo nome è ** sample.db ** (questo è portatile db) lo troverai all'interno della cartella del tuo progetto, basta esplorarlo! –

Problemi correlati