ich habe eine Sqlite Datenbank erstellt etc. und versuche diese nun mit Java zu verbinden, leider bekomme ich den Fehler, dass es nicht gefunden wurde.
(
Java:
//importjava.sql.*;importjavax.swing.*;publicclassFunction{Connection conn =null;publicstaticConnectionConnecrDb(){try{Class.forName("org.sqlite.JDBC");Connection conn =DriverManager.getConnection("jdbc:sqlite:C:\\Users\\A79006905\\AppData\\Local\\Downloaded Apps\\SQLiteStudio\\3.1.1");return conn;}catch(Exception e){JOptionPane.showMessageDialog(null, e);returnnull;}}publicstaticvoidmain(String[] args){ConnecrDb();}}/code])Kann mir da jemand helfen?
Nur kurz zu Klarstellung: Der sqlite JDBC Treiber meckert, dass er die Datenbankdatei nicht findet, richtig? Und nicht etwa, dass Java bei Class.forName() rummeckert, dass die Klasse org.sqlite.JDBC nicht existiert....
Bitte immer die originale Fehlermeldung hinschreiben.
Habe mir den Treiber Heruntergeladen bzw. den Riesen Ordner und in meinem Projekt zur Library hinzugefügt, trotzdem wird der Fehler immer noch angezeigt.
Von der Diskussion die du mir da geschickt hast, auf jeden Fall es hat Funktioniert, es wird kein Fehler angezeigt.
Verbindung Erfolgreich!
Vielen Dank!
Kurz nachgefragt die heruntergeladene jar in system classphat (in system>erweiterte Systemeinstellungen bei der Variable ClassPaht den Eintrag c:\xxxx \sql..... )eintragen? In das JDK Verzeichnis einfügen?
Natürlich gibt es darüber hinaus diverseste Möglichkeiten durch IDEs oder Buildsysteme, diese effektive Kommandozeile generieren zu lassen. Jede IDE hat irgendwo Build/Class Path Einstellungen.
Niemand auf der Welt geht jedesmal in die Systemsteuerung und passt seine Umgebungsvariablen dort an, wenn sich seine Library-Abhängigkeiten ändern oder er ein anderes Java-Programm als zuvor startet. Das ist einfach nur absolut dämlich!
Wenn du unbedingt die CLASSPATH Umgebungsvariable benutzen willst dann überschreibe sie einfach in einer lokalen Shell-Sitzung mit `set CLASSPATH=...` (Windows) bzw. `export CLASSPATH=...` (Linux und Mac OS) oder prozesslokal für den java-Prozess mit `CLASSPATH="..." java meine.Klasse`.
Informiere dich einfach mal, wie man Java-Programme ausführt oder lese dich wenigstens mal in die IDE Dokumentation ein (Eclipse, NetBeans, IntelliJ IDEA oder was auch immer du nutzt).
Ich habe die Jar in mein Verzeichnis C:\Program Files\Java\jdk1.8.0_131\jre\lib kopiert. und in C:\Program Files\Java\jdk1.8.0_131\lib und habe zu der Installierten Lib in Eclipse>Preferenc>java> UserLibraries der JDK Systemlibrarie die externe Librarie sqlit...mit dem Button Add external Jar eingefügt und in java>classpaht ebenfalls die sqllite...jar hinzugefügt. Muß dann nicht auch diese Jar bei einem neuen Projekt bei den libs angezeigt werden?
Man muss keine Dinge im JDK ändern!
Mach einfach nur genau das, was @httpdigest gesagt hat, zum ausführen steht dort alles.
In Eclipse solltest du das nur in Projekten einbinden, in denen du es brauchst. Einfach so in allen Projekten einen Jdbc-Treiber einbinden ist Unsinn.