Verbindung zu dbf Dateien

Status
Nicht offen für weitere Antworten.

JavaPain

Mitglied
Hi...

Ich möchte gerne aus meinem Programm auf .dbf Dateien zugreifen
und das möglichst ohne externen DB-Server.
Ich kann SQL und würde gerne weiter mit dieser Abfragesprache arbeiten.
Jetzt meine Frage: geht das??? 😉 <- ist ja klar...
habe das folgendermaßen versucht!!! (viele Tuts gelesen ´- nur steht da meißtens nur was zu MS SQL
oder Access!!!)

Code:
  public void beenden(ActionEvent e)
      {
        try
        {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          Connection verbindung = DriverManager.getConnection ("jdbc:odbc:kunde","","");
          Statement setzeDaten = verbindung.createStatement();
          DatenBankTool(setzeDaten);
        }
        catch(java.lang.ClassNotFoundException d)
        {
          System.out.println("Treiber nicht gefunden");
        }
        catch(java.sql.SQLException d)
        {
          System.out.println("Fehler beim Datenbankzugriff");
        }
        this.win.dispose();
      }

  private static void DatenBankTool(Statement setzeDaten)
      throws java.sql.SQLException
    {
      ResultSet result = setzeDaten.executeQuery
          ("INSERT INTO Kunde SET vorname = TFVorname, nachname = TFNachName, titel = TFTitel, geschlecht = TFGeschlecht");
      result.close();
    }

Ich nehme an es liegt an meiner Treiberverbindung oder an der Verbindung zur Datenbank...
es fehlen mir warscheinlich noch nen paar grundlegende infos wie sowas läuft...
Studium fängt erst im Herbst an 😉
Wie kann ich meine dbf Datei ansprechen die ich in einem Unterordner 'Datenbank' haben möchte...
im Hauptverzeichniss soll meine exe liegen.

Vielen dank schon mal...
 
hast du die odbc-verbindung in den systemsteuerung schon eingerichtet?

mach das erstmal und schau dann mit klick-lego (z.b. access) ob du drauf zugreifen kannst.

dann suchste hier mal und findest rucki zucki fertigen code 😉

grüße
 
klick-lego kenne ich nicht was kann ich denn damit machen???
aber die ODBC Treiber für DBase hab ich schon installiert...
hab mir sogar schon den CodeBase Server installiert weil ich dachte
das geht nur damit...
Ich denke mein Prob. liegt hier:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
wie spreche ich denn den richtigen Treiber an???

und wie kann ich hiermit:
Connection verbindung = DriverManager.getConnection ("jdbc😱dbc:kunde","","");
auch meine richtiges DBF File ansprechen bzw. abfragen???

Danke schon mal...

:###
 
Anonymous hat gesagt.:
klick-lego kenne ich nicht was kann ich denn damit machen???
aber die ODBC Treiber für DBase hab ich schon installiert...
hab mir sogar schon den CodeBase Server installiert weil ich dachte
das geht nur damit...
Ich denke mein Prob. liegt hier:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
wie spreche ich denn den richtigen Treiber an???

und wie kann ich hiermit:
Connection verbindung = DriverManager.getConnection ("jdbc😱dbc:kunde","","");
auch meine richtiges DBF File ansprechen bzw. abfragen???

Danke schon mal...

:###

Bei Windows XP Prof. gelangst du

über Start -> Einstellungen -> Systemsteuerung -> Verwaltung - Datenquellen (ODBC)

in den ODBC-Datenquellen-Administrator. Dort fügst du unter System-DSN einen neuen Eintrag für eine dBase-DB hinzu und schon kannst du dich an diese DB verbinden (richtigen Java-Code vorausgesetzt).
 
Gut danke erstmal...
aber wie spreche ich diese dann mit java an???
 
Anonymous hat gesagt.:
Gut danke erstmal...
aber wie spreche ich diese dann mit java an???

Hier einmal ein Beispiel für eine Methode zur Datenbankverbindung mit einer ODBC-DB:
Code:
 /**
  *  Baut eine Datenbanverbindung zu einer bestimmten Datenbank auf.
  *
  *  @param treiberUndDatenbasis   In einem Wort, z.B. "jdbc:odbc:mydbf"
  */
  public void createVerbindung (String treiberUndDatenbasis){
    try {
      verbindung        = DriverManager.getConnection(treiberUndDatenbasis);
      sqlSchnittstelle  = verbindung.createStatement();
    } //try
   catch (SQLException e ){
      System.out.println("Verbindungsfehler zur Datenbank: " + e.getMessage());
    } //catch
  } //createVerbindung

Der Code ist eigentlich selbsterklärend. Beachte die betr. Kommentarzeile oben.

Hoffe, dir geholfen zu haben.
 
Danke erstmal...
hab jetzt glaub ich alles, nur:

Fehler beim Abfragen der Datenbank[Microsoft][ODBC dBASE Driver]
Unerwarteter Fehler vom externen Datenbanktreiber (15877).

heul ich dachte ich bin soweit...
thanks vor help...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben