# JDBC Verbindung zu Access Datenbank



## Balsi (9. Feb 2007)

Hy Leute,

Schande über mein Haupt, ich bekomms nicht hin. Ich habe jezt so an die 10 verschiedenen Varianten ausprobiert und schaffs nicht auf die Datenbank, desshalb muss ich euch mit dem alten Hut belästigen.

=> Theorie ist klar

Die genauen Angaben:

    => Pfad: C:\Workarea\Eigene Dateien\Theorie..mdb 
    => ich verwende den jdbc Treiber: sun.jdbc.odbc.JdbcOdbcDriver
    => es wurde kein Benutzernamen definiert
    => es wurde kein Passwort definiert

Am schönsten wäre es, wenn ich auf die DB zugreifen kann, ohne diese in der Systemsteuerung als Datenquelle zu definieren, wenn überhaupt möglich.

Ich weiss das ist ne blöde Bitte, aber kann mir jemand ein Beispiel posten, in dem ich genau sehe, wie ich die Pfad Angaben, Treiber und die restlichen Parameter verwenden kann?

Hier den Source welchen ich normalerweise für unsere Oracle Datenbanken verwende, die ca. 8 nicht funktionierenden Source- Auszüge erspare ich euch, evtl. hilft er aber irgend wem... 

Die absolute Luxusvariante wäre natrülich, wenn mir jemand die Zeile (den Treiber ändere ich dann natürlich auf den odbc treiber)

mydbConn = java.sql.DriverManager.getConnection("jdbcracle:thin"+dbHost+":"+dbPort+":"+db, 
        dbUserid, dbPasswd);    

so abändern kann, dass ich sie auf die Access Db anwenden kann. 



```
public synchronized java.sql.Connection getDbConnection()
{

    try
    {
        if(mydbConn != null && !mydbConn.isClosed())
        return mydbConn;

        Class.forName("oracle.jdbc.driver.OracleDriver");
        
        mydbConn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@"+dbHost+":"+dbPort+":"+db, 
        dbUserid, dbPasswd);     
    }

    catch (java.sql.SQLException ex1)      
    {

          try
         {
	if(mydbConn != null)
	    mydbConn.close();
          }
          catch(Exception e)
          {
          }
    }
    catch (ClassNotFoundException ex)
   {
        System.out.println("Treiberklasse konnte nicht gefunden werden: " +ex.toString());
   }

    if(mydbConn == null)
    {
         System.out.println("Fehler beim Zugriff, Verbindung ist nicht zu stande gekommen");
    }

    return mydbConn;

}
```


Vielen Dank für eure Bemühungen und ein schönes Wochenende.

Mit freundlichen Grüssen 
Jan Balsiger


----------



## SlaterB (9. Feb 2007)

grundlegende Tutorials sind dir bekannt?
http://jr-thies.de/index.php/2006/12/02/p61
(ich weiß davon wenig)


----------



## L-ectron-X (9. Feb 2007)

Ich hab dafür in irgendeinem meiner Programme mal folgende Methode entwickelt:

```
private static Connection con;

public boolean connect(String filename, String user, String passwd)
   throws SQLException, ClassNotFoundException {
      
   String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
   database += filename.trim() + ";DriverID=22;READONLY=false}";      

   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   con = DriverManager.getConnection(database, user, passwd);

   return true;
}
```

Zuvor hatte ich diesen Beitrag gefunden: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=2691&lngWId=2#SECTION0


----------



## Balsi (9. Feb 2007)

Hy,

Grundlegende Tutorials sind mir bekannt, ja. Ich bin Applikationsentwickler... mitlerweile ein verzweifelter

Ich werde deinen Beispielcode gleich am Montag ausprobieren, sieht ähnlich aus, wie andere Versuche, die DriverID ist jedoch neu

Vielen Dank für die schnellen Antworten, ich werde das Resultat gleich am Montag posten.

Ich wünsche noch ein schönes Wochenende.

Mfg.
Jan Balsiger


----------



## Balsi (9. Feb 2007)

Doch noch was kleines. Den Pfad, kann ich den mit "C:\Workarea\Eigene Dateien\Theorie.mdb" absolut angeben? oder wie (für Webentwickler) gewohnt relativ?

das Problem ist, dass es weder der Treiber ist, noch kommt eine "File not Found" exception oder ähnliches... ich habe also leider keine Anhaltspunkte woran effektiv es liegt

Mfg.
Jan Balsiger


----------



## L-ectron-X (9. Feb 2007)

Der Dateiname der Access-DB sollte für dieses Beispiel absolut, kann aber auch relativ angegeben werden.

Absolut:
String filename = "C:/Workarea/Eigene Dateien/Theorie.mdb";

Für die relative Angabe gibts mehrere Möglichkeiten.


----------



## Balsi (12. Feb 2007)

Vielen Dank L-ectron-X,

Entlich hat es geklappt

Mfg
J. Balsiger


----------

