# Problem mit auslesen deiner DBase Datenbank



## Dust (31. Mrz 2005)

hallo. Ich hab folgendes Problem.
Ich habe eine Filmdatenbank, die ca. 15000 Titel enthält... ich hatte mir javadbf heruntergeladen und es damit versucht, funktioneirt auch, mein problem ist aber das das programm ca. 15 sec braucht um die Datenbank auszulesen....
Gibts ne einfacherer/schnellere Möglichkeit?

Roland


----------



## Bleiglanz (31. Mrz 2005)

importier halt den zeug erstmal in ACCESS und versuchs über ODBC

dann von ACCESS aus in eine vernüftige DB übertragen und einen Typ4 Driver verwenden


----------



## Dust (31. Mrz 2005)

Das problem is das is für die abriet, und das programm arbeitet mit dbf dateien... die auch ständig geändert wird... also kann ich nicht groß was abspeichern oder so...


----------



## Bleiglanz (1. Apr 2005)

was ist denn das für ein jdbc-Treiber (javadbf)?

post mal etwas Quelltext, 15 sec für 15000 Titel scheint mir auch etwas lang - aber möglicherweise arbeitet der Treiber ja mit dem "flat-file" usw.


----------



## Dust (1. Apr 2005)

N treiber is das nicht, íst n .jar file zum auslesen von dbf...
hier mal der quelltext...
sind eigendlich nur drei anweisungen....

```
InputStream inputStream = new FileInputStream("C:\\downloads\\filme.dbf");
      DBFReader reader = new DBFReader(inputStream);
      Object[] rowObjects;
      while ((rowObjects = reader.nextRecord()) != null)
      {
          //mache irgendwas
      }
```
Nur das durchlaufen hiermit, ohne irgendwas zu machen dauert schon so lange... oder hast vielelciht n beispiel wie man das mit diesen treibern lösen kann, da komm ich nämlich noch nciht so ganz hinter
Der DBFReader ist halt aus der javadbf.jar ausm Forum hier irgendwo... vielelciht ist die einfach nicht so toll und braucht so lange?!


----------



## Bleiglanz (1. Apr 2005)

verwende mal Probehalber einen BufferedInputStream 

oder erstelle eine ODBC Datenquelle und greif über ODBC zu


----------



## Dust (2. Apr 2005)

Das mit dem BuferedInputStream will er irgendwie nciht, sorry, aber so ganz bi n ich da noch nciht drin bewandert..
Wie genau funktioniert das mit diesen OBDC Treibern? N BDase treiber hab ich installiert, das weiß ich...


----------



## Bleiglanz (2. Apr 2005)

steht in jedem Anfänger Tuto

-> Start > Einstellungen > Systemsteuerung > Verwaltung > Datenquellen

Reiter System-DSN auswählen

Hinzufügen

Treiber auswählen "Driver do Microsoft dBase (*.dbf)

Datenbank wählen (deine dbf datei)

name vergeben evtl passwort

danach kannst du z.B. mit Access das Ding "öffnen", oder auch per JDBC-ODBC von Java aus drauf zugreifen


----------



## Dust (4. Apr 2005)

Jo, jetzt hab ichs auch kapiert... Danke für die Hilfe....

habs jetz so gelöst...

```
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection con = DriverManager.getConnection("jdbc:odbc:Movie");
      Statement setzeDaten = con.createStatement();
      ResultSet result = setzeDaten.executeQuery 
      ("SELECT * FROM FILME");
```
Braucht nur noch n Augenblick, sehr schön....

Das mit dem Einstellen in Windows hatte ich nicht hingekriegt, also nochmal danke für die Hilfe

Dust


----------

