webentwicklung-frage-antwort-db.com.de

Wie verbinde ich SQLite mit Java?

Ich benutze einen einfachen Code, um von Java application auf die SQLite-Datenbank zuzugreifen. Mein Code ist

 import Java.sql.Connection;  
 import Java.sql.DriverManager;  
 import Java.sql.ResultSet;  
 import Java.sql.Statement;  
 public class ConnectSQLite 
 {  
  public static void main(String[] args) 
  {  
     Connection connection = null;  
     ResultSet resultSet = null;  
     Statement statement = null;  

     try 
     {  
         Class.forName("org.sqlite.JDBC");  
         connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db");  
         statement = connection.createStatement();  
         resultSet = statement  
                 .executeQuery("SELECT EMPNAME FROM EMPLOYEEDETAILS");  
         while (resultSet.next()) 
         {  
             System.out.println("EMPLOYEE NAME:"  
                     + resultSet.getString("EMPNAME"));  
         }  
     } 
     catch (Exception e) 
     {  
         e.printStackTrace();  
     }
     finally 
     {  
         try 
         {  
             resultSet.close();  
             statement.close();  
             connection.close();  
         } 
         catch (Exception e) 
         {  
             e.printStackTrace();  
         }  
     }  
 }  
}  

Aber dieser Code gibt eine Ausnahme wie

Java.lang.ClassNotFoundException: org.sqlite.JDBC

Wie kann ich das schieben, bitte hilf mir.

47
Rajapandian

Sie benötigen einen SQLite-JDBC-Treiber in Ihrem Klassenpfad.

Taro L. Saito (xerial) gabelte das Zentus-Projekt und pflegt es nun unter dem Namen sqlite-jdbc . Die nativen Treiber für die wichtigsten Plattformen werden gebündelt, sodass Sie sie nicht separat konfigurieren müssen.

58
Reverend Gonzo

Wenn Sie Netbeans verwenden Laden Sie den sqlitejdbc-Treiber herunter Klicken Sie im Projektfenster mit der rechten Maustaste auf den Ordner Libraries und wählen Sie Add Library (Bibliothek hinzufügen). Klicken Sie dann auf Create (Erstellen), um die Bibliothek aufzurufen Name (SQLite) und drücken Sie OK

Sie müssen den sqlitejdbc-Treiber zum Klassenpfad hinzufügen, auf die Schaltfläche Jar/Folder hinzufügen klicken und die sqlitejdbc-Datei auswählen, die Sie zuvor heruntergeladen haben. Klicken Sie auf OK und Sie können loslegen!

9
lesce

Wenn Sie Netbeans verwenden, ist das Hinzufügen einer Bibliothek mit Maven einfacher. Ich habe versucht, die obigen Lösungen zu verwenden, aber es hat nicht funktioniert.

<dependencies>
    <dependency>
      <groupId>org.xerial</groupId>
      <artifactId>sqlite-jdbc</artifactId>
      <version>3.7.2</version>
    </dependency>
</dependencies>

Ich habe Maven Abhängigkeit hinzugefügt und Java.lang.ClassNotFoundException: org.sqlite.JDBC Fehler verschwunden.

8
Olcay Ertaş

Ich verwende Eclipse und habe Ihren Code kopiert und den gleichen Fehler erhalten. Ich öffnete dann die Projekteigenschaften -> Java Build Path -> Libraries -> Add External JARs ... c:\jrun4\lib\sqlitejdbc-v056.jar Arbeitete wie ein Zauber. Möglicherweise müssen Sie Ihren Webserver neu starten, wenn Sie die JAR-Datei gerade kopiert haben.

5
MeanderingCoder
    import Java.sql.ResultSet;
    import Java.sql.SQLException;
    import javax.swing.JOptionPane;
    import org.sqlite.SQLiteDataSource;
    import org.sqlite.SQLiteJDBCLoader;

    public class Test {

        public static final boolean Connected() {
            boolean initialize = SQLiteJDBCLoader.initialize();

            SQLiteDataSource dataSource = new SQLiteDataSource();
            dataSource.setUrl("jdbc:sqlite:/home/users.sqlite");
            int i=0;
            try {
                ResultSet executeQuery = dataSource.getConnection()
                        .createStatement().executeQuery("select * from \"Table\"");
                while (executeQuery.next()) {
i++;
                    System.out.println("out: "+executeQuery.getMetaData().getColumnLabel(i));

                }



            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, ex);
            }

            return initialize;

        }
3
user2402433

Sie müssen den SQLite-JDBC-Treiber herunterladen und zu Ihrem Klassenpfad hinzufügen.
Sie können von hier herunterladen https://bitbucket.org/xerial/sqlite-jdbc/downloads

Wenn Sie Gradle verwenden, müssen Sie nur die SQLite-Abhängigkeit hinzufügen:

dependencies {
    compile 'org.xerial:sqlite-jdbc:3.8.11.2'
} 

Als nächstes müssen Sie den Treiber initialisieren:

try {
    Class.forName("org.sqlite.JDBC");
} catch (ClassNotFoundException eString) {
    System.err.println("Could not init JDBC driver - driver not found");
}
3
Thev
connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db");

Stattdessen setzen

connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb");
1
Vasanth Kumar

Hey, ich habe ein Video-Tutorial dazu auf Youtube gepostet. Sie können das überprüfen und hier den Beispielcode finden:

http://myfundatimemachine.blogspot.in/2012/06/database-connection-to-Java-application.html

1
fiddle
import Java.sql.Connection;
import Java.sql.DriverManager;
import Java.sql.SQLException;
import javax.swing.JOptionPane;   


public class Connectdatabase {

        Connection con = null;

        public static Connection ConnecrDb(){

            try{
                //String dir = System.getProperty("user.dir");
                Class.forName("org.sqlite.JDBC");
                Connection con = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db");
                return con;
            }
            catch(ClassNotFoundException | SQLException e){
                JOptionPane.showMessageDialog(null,"Problem with connection of database");
                return null;
            }
        }

    }
0