.mdb-Datei auslesen und beschreiben

taik84

Mitglied
Servus Leutz!

Ich wollte ein Programm für mich schreiben, mit der ich ausgeliehene Bücher, CD's und DVD's verwalten kann. Ich bin mir sicher, dass es auch einfache Möglichkeiten gibt dies aus mit eine einfachen Excel-Tabelle zu machen, aber es reizt mich mit einem Java-Programm und einem Access-Datenbank-Datei (.mdb) zu realisiren. Ich möchte auch das Programm so gestalten, dass die mdb-Datei mit dem dazugehörigen Java-Programm auch auf ein Stick gepackt werden kann um überall, wo Java-VM installiert ist, ausführen zu können ohne es zuerst installieren zu müssen. Ich weiss nicht ob es klappen könnte, ohne den Access-Datei beim ODCB anzumelden zu verwalten. Wenn mein Vorhaben überhaupt nich klappen sollte, würde ich gerne vielleicht ein paar Empfehlungen von euch bekommen was man anders machen könnte. Falls aber die mdb-Datei auf diese Art und Weise sich verwalten lässt, würde ich gerne ein paar kleine Code-Beispiele bekomme, da ich nicht viel im Internet finden konnte (Es war zum Teil zu umfangreich).

Danke im Voraus für eure Hilfe.

Gruß

Taik

PS: Die mdb-Datei ist bereits erstellt und und Tabellen sind schon angelegt, bevor das Programm gestartet wird. Also wird es darum gehen die Tabellen zu beschreiben, und auszulesen. Die Einträge in der Tabelle sollten gelöscht werden können. Aber es müssen z.B. keine Datenbanken erstellt werden oder die Tabellen gelöscht und erstellt werden. Also relativ simple Aufgaben. Ich hoffe es kann ohne große Umstände realisierbar sein.

Aber wie gesagt, bin ziemliech offen was Alternativen angeht. ;-)
 
Vielleich so?

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=c:/deine.mdb","Administrator","");
 
Danke. Ich wusste, dass es eine einfache Lösung geben muss. Wusste aber nicht genau, wie das geht und von ein paar anderen Teilnehmern gehört, dass es überhaupt nicht funktioniert.

Ist es ok, wenn ich es so schreibe: "{MicroSoft Access Driver (*.mdb)}" Oder sollte ich da was anderes Einfügen?

Ich Probiere es gleich aus.

Danke.

Gruß

Taik :-)

PS: Ist das hier gemeint: "odbc:2Driver" wobei 2 da nicht reingehört? Oder steht da etwas anderes.
 
Zuletzt bearbeitet:
import java.sql.*;
public class Access1 {
public static void main(String [] args) {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:/mpr/prj/pro/glossary.mdb","Administrator","");
}
}

Wenn ich es ausführe, meldet mir der Compiler folgende fehler:
Compiliere C:\mpr\prj\pro\Access1.java mit Java-Compiler
Access1.java:4: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
^(dat hier zeigt auf die erste Klammer)
Access1.java:5: unreported exception java.sql.SQLException; must be caught or declared to be thrown
Connection con = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access
^(dat hier zeigt auf die erste Klammer)
Driver (*.mdb)};DBQ=C:/mpr/prj/pro/glossary.mdb","Administrator","");

2 errors


Das Programm sollte einfach keine fehler geben, wenn sie sich mit der datenbank verbinden kann.

Habe ich etwas vergessen?

Gruß Taik
 
Zuletzt bearbeitet:
Ich habe diese try-catch-Verzweigung eingebaut aber der Compiler gibt immer noch einen Fehler an:

Compiliere C:\mpr\prj\pro\Access1.java mit Java-Compiler
Access1.java:5: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
^(zeigt auf die erste Klammer)
1 error

Egal was ich ausprobiere taucht dieser Fehler schon seit längerem auf. Fehlt mir dieser Driver? Wo bekomme ich es?

Gruß

Taik
 
Hallo,

versuchs mal so:
Code:
import java.sql.*;
  
  public class AccessTest
  {
  
  	public static void main(String[] args)
  	{
  		try {
  			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 		 Connection con = DriverManager.getConnection("jdbc:odbc:-)river={MicroSoft Access Driver (*.mdb)};DBQ=C:/mpr/prj/pro/glossary.mdb","Administrator","");
  			con.close();
  		}
  		catch (SQLException e1)  { e1.printStackTrace(); }
  		catch (ClassNotFoundException e2)   { e2.printStackTrace(); }
  	}
  }
 
Zurück