Problem mit Datenbankverbindung

Tobias ST

Mitglied
Hallo Zusammen,

ich habe folgendes Problem:
Ich möchte für meine Mutter, nach Ihren wünschen, ein Programm schreiben um Ihre Lebensmittelvorräte zu verwalten. Dazu benötige ich eine Access Datenbank am besten ohne ODBC. Ich benutze MS Office 2010.

Im Internet habe ich folgende Möglichkeit gefunden http://wiki.byte-welt.net/wiki/Datenbankverbindung_(Java)#Access_Datenbank

Dies habe ich für mein Programm erst einmal so angepasst
Java:
try{
     String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb,*.accdb);DBQ=C:/Users/Tobias Stüer/Documents/Database2.accdb;READONLY=false}";    

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con = DriverManager.getConnection(url, "", "");
            System.out.println("ALLES OK");
}catch(Exception e){
            System.out.println("FEHLER");
            System.err.println(""+e.getMessage());
        }

Bei der Ausführung wird dann folgender Fehler ausgegeben:
Executing C:\Users\Tobias Stüer\Documents\NetBeansProjects\TT-Liveticker\dist\run415007486\TT-Liveticker.jar using platform C:\Program Files\Java\jdk1.8.0_144/bin/java
FEHLER
sun.jdbc.odbc.JdbcOdbcDriver

Kann mir jemand sagen was ich falsch gemacht habe?
Vielen Dank im Vorraus
 

Tobias ST

Mitglied
Code:
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at tt.liveticker.windows.controller.Datenbankverbindung.<init>(Datenbankverbindung.java:32)
    at tt.liveticker.windows.controller.AufstellungController.initialize(MasterController.java:86)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
    at vorrat.windows.controller.FXMLDocumentController.neuenLiveticher(FXMLDocumentController.java:141)
    at vorrat.windows.controller.FXMLDocumentController.singleLivetickerManuel(FXMLDocumentController.java:93)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
    at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771)
    at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.control.MenuItem.fire(MenuItem.java:462)
    at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1405)
    at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer.lambda$createChildren$343(ContextMenuContent.java:1358)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
    at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
    at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:417)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)
    at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
    at com.sun.glass.ui.View.notifyMouse(View.java:937)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    at java.lang.Thread.run(Thread.java:748)
 
Zuletzt bearbeitet von einem Moderator:

JuKu

Top Contributor
Java:
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

Eig. ziemlich eindeutige Fehlermeldung. Die Klasse konnte nicht gefunden werden, dies liegt wahrscheinlich daran, dass sie nicht existiert.
Vermutlich, weil du die Library / natives nicht eingebunden hast. Desweiteren muss dieser Treiber schon uralt sein, weil er noch mit "sun.*" startet. Falls du den Treiber überhaupt noch zum Laufen bekommen solltest - @Flown hat ja bereits gesagt, dass er eingestampft wurde - dann wird er spätestens mit Java 9 (dank Jigsaw) nicht mehr ohne weiteres funktionieren.

Wieso überhaupt Microsoft Access?
 

Tobias ST

Mitglied
Ich hatte an Access gedacht weil so die Weitergabe des Programms mit der Datenbank besser klappen würde.
Nach dem ich gelesen habe, dass die "jdbc-odbc bridge" nicht mehr existiert. Habe ich mich mit der Datenbank die bei Netbeans vorhanden ist etwas beschäftigt.
Laut Internet soll da ja die Weitergabe funktionieren.
 

mrBrown

Super-Moderator
Mitarbeiter
Normalerweise laufen Datenbanken nicht lokal, sondern man hat einen Datenbanken Server. Dieser kann natürlich wiederum lokal laufen, wenn notwendig. Aber aus diesem Grund wirst du kaum eine Datenbank ohne Server finden.

Normalerweise gilt das aber auch nur für WebAnwendungen.
Der Großteil aller Datenbanken dürfte lokal laufen.


Grad für Java gibts da auch noch H2 und HSQLDB.
 

JuKu

Top Contributor
Normalerweise gilt das aber auch nur für WebAnwendungen.
Der Großteil aller Datenbanken dürfte lokal laufen.


Grad für Java gibts da auch noch H2 und HSQLDB.

Ja, da hast du prinzipiell recht.
Aber wie viele Anwendungen laufen denn heute nur noch lokal?
Sobald man mit jemandem zusammen arbeiten möchte (z.B. in einem Unternehmen), kommt man um einen Server nicht mehr drum herum.
 

mrBrown

Super-Moderator
Mitarbeiter
Ja, da hast du prinzipiell recht.
Aber wie viele Anwendungen laufen denn heute nur noch lokal?
z.B. die Anwendung, mit der du grad den Kommentar verfasst hast.
Die meisten Programme nutzen auch eine rein lokale Datenbank.

Whatsapp allein dürfte auf so ne knappe Milliarde rein lokale Datenbanken kommen ;)
 
Zuletzt bearbeitet:

HarleyDavidson

Bekanntes Mitglied
Für eine kleine lokale Datenbank
kann ich die H2 empfehlen.
http://www.h2database.com/
Die Datenbank ist eine einzige Datei und mit einem Doppelklick auf die JAR startet ein kleiner Webserver, mit dem man auf eine kleine Administrationsoberfläche mit SQL-Funktion und weiteres gelangt.
Diese Datenbank unterstützt unter anderem auch Sequences und Trigger, die man auch aus dem Oracle-Umfeld kennt.
Ich habe schon mehrere Projekte damit realisiert und bin immer zufrieden damit gewesen.
 

mrBrown

Super-Moderator
Mitarbeiter
Da hast du natürlich recht! :D
Allerdings arbeiten die Datenbanken auf dem Handy ja auch nicht komplett unabhängig von den Servern.
Denn Whatsapp selbst hat ja die Server, die die Nachrichten dann erst ans Handy schicken.
Allerdings sind Server-DB und lokale DB völlig unabhängig ;)

Ansonsten: die meisten Browser nutzen auch eine völlig lokale DB, ohne irgendeinen Server dazu ;)
 

JuKu

Top Contributor
Das stimmt natürlich. Sie kommunizieren nur über den Anwendungscode. :)
Und auf die Browser wäre ich jetzt hier gar nicht mehr gekommen. :D
Aber das verwenden die Web Developer halt auch kaum noch.

H2 wäre für seinen Anwendungsfall wohl das beste.
 

truesoul

Top Contributor
Sry, so meinte ich das nicht. :D
Ich meinte, dass die wenigsten Web Developer noch auf die Browser interne Datenbank (über JS) zugreifen. Also quasi den lokalen Speicher.
Sowas wie es jetzt als Neuauflage unter HTML5 gibt:
https://wiki.selfhtml.org/wiki/JavaScript/Web_Storage

Das entspricht nicht der Tatsache. Web Developer entwickeln auch Hybride App's und verwenden z. B den SQLite im Browser wie Chrome. :)

Wobei Web Storage auch geht.

Sprichwort: Cordova, Ionic usw.

Grüße
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Problem mit Datenbankverbindung via Eclipse Datenbankprogrammierung 2
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
C Problem mit Apache Poi Datenbankprogrammierung 6
N HSQLDB Problem mit Eclipselink in runnable Jar Datenbankprogrammierung 10
P GroupLayout-Problem Datenbankprogrammierung 12
F XAMPP max connections problem Datenbankprogrammierung 6
C MySQL Problem in phpMyAdmin Oberfläche Datenbankprogrammierung 5
C Problem with INSERT.............ON DUPLICATE KEY Datenbankprogrammierung 3
C Problem with insertion in database. Datenbankprogrammierung 7
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
A kleines Problem Datenbankprogrammierung 6
V Derby/JavaDB updateRow Problem Datenbankprogrammierung 0
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
Nuiton EmbeddedDriver Problem Datenbankprogrammierung 6
A MongoDB Passwort Problem Datenbankprogrammierung 0
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
F MySQL JDBC Problem Datenbankprogrammierung 5
Anfänger2011 Datenbankstruktur/aufbau (theoretisches Problem) Datenbankprogrammierung 5
M Derby/JavaDB Drop Database problem Datenbankprogrammierung 3
M Derby/JavaDB NOT LIKE problem Datenbankprogrammierung 19
N HSQLDB Problem mit EntityManager Datenbankprogrammierung 7
B MySQL JPAContainer Problem Datenbankprogrammierung 4
K Eclipse Apache Derby Treiber Problem Datenbankprogrammierung 4
C Problem oder Denkfehler mit H2-Database Datenbankprogrammierung 3
E Wie kann man das Problem mit der BLOB-Spalte lösen? Datenbankprogrammierung 1
M Problem mit jcouchdb und CouchDB - UTF8 kein gültiger Zeichentyp Datenbankprogrammierung 4
T MySQL Problem mit Datenbankanbindung Datenbankprogrammierung 4
M INSERT-Problem = integrity constraint violation: foreign key no parent Datenbankprogrammierung 5
P SQL Query Problem Datenbankprogrammierung 14
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
B SQLite Problem bei Planung der Datenbank [Jeopardy] Datenbankprogrammierung 3
A Problem mit dem Import und Export von Bildern Datenbankprogrammierung 4
P Oracle Problem mit Umlauten Datenbankprogrammierung 9
A Problem mit Create-Statement Datenbankprogrammierung 9
D Problem mit COLUMN_IDENTIFIERS Datenbankprogrammierung 8
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
M Problem mit mehreren Datasourcen Datenbankprogrammierung 3
R Resultset.last() Problem Datenbankprogrammierung 12
M Problem GroupBy Datenbankprogrammierung 3
S CURRENT_DATE problem Datenbankprogrammierung 2
M Problem mt JPA Id-Generators Datenbankprogrammierung 18
Gossi Oracle Problem mit group by... Datenbankprogrammierung 22
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
R MS-SQL Express Login-Problem Datenbankprogrammierung 8
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
N HSQLDB Problem beim Treiberladen im Jar Datenbankprogrammierung 6
M Problem beim Erstellen einer Query Datenbankprogrammierung 7
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
M Problem mit HQL Syntax Datenbankprogrammierung 5
K Db4o Delete Problem Datenbankprogrammierung 11
Mike90 Deadlock/Lock Problem Datenbankprogrammierung 4
T Access 32bit on Win7 64Bit ODBC Problem Datenbankprogrammierung 1
C unverständliches DB Problem (Es ist kein temporärer Systemtabellenbereich mit einer ausreichenden..) Datenbankprogrammierung 5
S ODBC Treiber Problem/oder unvermögen Datenbankprogrammierung 18
J Problem bei Boolean in PreparedStatement Datenbankprogrammierung 5
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
S Oracle Problem mit PreparedStatement.setString(1,"str") Datenbankprogrammierung 10
B MySQL Problem mit Datenbankanbindung an MySQL Datenbankprogrammierung 2
N Problem bei Erstellung eines Index Datenbankprogrammierung 12
C Hibernate Property-Problem Datenbankprogrammierung 5
J MyBatis - Update Problem Datenbankprogrammierung 4
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
c_sidi90 Hibernate Problem Table doesnt excist Datenbankprogrammierung 8
M Problem mit JPA - OneToMany-Relation Datenbankprogrammierung 3
I Hibernate: Composite Foreign Key Problem Datenbankprogrammierung 14
S JPA OptimisticLocking Problem Datenbankprogrammierung 11
I Derby/JavaDB Problem mit Befüllung von Tabelle Datenbankprogrammierung 7
JavaKaffee Derby/JavaDB Quartz-WebAnwendung - Connection/Treiber Problem Datenbankprogrammierung 47
I Problem mit ResultSet Datenbankprogrammierung 2
L Excel in MySQL importieren Problem Datenbankprogrammierung 5
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
R MS Access mit Java Problem mit Update Statment Datenbankprogrammierung 13
S MySQL Problem mit SELECT bzw encoding Datenbankprogrammierung 4
T Problem beim schreiben von daten Datenbankprogrammierung 4
M MySQL getConnection - Verbindung Problem Datenbankprogrammierung 2
K Hibernate + MySQL Problem... Datenbankprogrammierung 2
I MySQL MySQL – Proxy Problem Datenbankprogrammierung 4
M Problem mit Hibernate und Named Query Datenbankprogrammierung 1
M Problem mit Hibernate und Access Datenbankprogrammierung 9
C firebird problem Datenbankprogrammierung 5
F Problem mit Datenbankabfrage Datenbankprogrammierung 7
K SQL Problem mit Date Datenbankprogrammierung 3
jeppi MySQL Design-Problem: DB-Verbindung herstellen und halten - JdbcRowSet / Idle-Timeout? Datenbankprogrammierung 9
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
G MySQL Connection Problem Datenbankprogrammierung 3
O MySQL Problem mit Umlauten?! Datenbankprogrammierung 2
E Hibernate Problem bei bidirektionaler 1:n Verbindung Datenbankprogrammierung 2
D MySQL Problem beim einfügen von Double-Zahlen Datenbankprogrammierung 4
M Oracle Problem mit Resultset Datenbankprogrammierung 11
T Problem bei Zugriff auf Access Datenbank Datenbankprogrammierung 7
W jpmdbc Problem -Beispiel funktioniert nicht Datenbankprogrammierung 9
W Verständnis-Problem JPA Grundlagen Datenbankprogrammierung 5
M Problem Array in BLOB-Feld in DerbyDB zu speichern Datenbankprogrammierung 5
M JPA-Persist Problem Datenbankprogrammierung 2
7 Problem mit Hibernatekonfiguration Datenbankprogrammierung 13

Ähnliche Java Themen

Neue Themen


Oben