none
DBF und Access 2007 RRS feed

  • Frage

  • Hallo,

    ich habe mehrere dbf-Dateien in einem Ordner liegen. Zu jedem der Dateien gibt es eine Index-Datei. Wenn ich jetzt mit Access 2007 eine Verbindung mit verknüpften Tabellen mit den dbf-Dateien anlege, werden dann die Index-Dateien automatisch mit verbunden?

    Danke im Voraus für Eure Hilfe!

    Gruß

    Marcus


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Montag, 2. Mai 2011 06:30

Antworten

  • Hallo Marcus,
    dazu habe ich eine kurze Frage: unsere IT wird hier in der Firma bis Ende des Jahres auf Windows 7 umstellen. Ich habe so etwas gehört, dass die Jet-Engine dann nicht mehr unterstützt wird...?! Wenn ja, dann ist das doch ein Problem, oder?

    vorab: Es wäre sinnvoller, neue Fragen in einem neuen Thread zu stellen. Dann hat man unter Umständen auch mehr portientelle Antwortende.

    Win7 unterstützt wie W2K8 problemlos die Jet Engine. Allerdings nicht in einer 64 Bit Umgebung. Wenn Du die Jet Engine nutzen willst, musst Du in deiner Anwendung in den erweiterten Kompilierungseinstellungen die Prozessorarchitektur von AnyCPU auf x86 umstellen. Dann geht das auch unter Win7 problemlos. Alternativ (wenn Du eine x64 Anwendung brauchst), kannst Du die Access Database Engine verwenden. Allerdings habe ich die noch nie mit DBase Dateien ausprobiert, das müsstest Du dann selbst mal machen.

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert mjanz Donnerstag, 12. Mai 2011 12:54
    Montag, 9. Mai 2011 13:08
    Moderator

Alle Antworten

  • Hi,
    ich habe mehrere dbf-Dateien in einem Ordner liegen. Zu jedem der Dateien gibt es eine Index-Datei. Wenn ich jetzt mit Access 2007 eine Verbindung mit verknüpften Tabellen mit den dbf-Dateien anlege, werden dann die Index-Dateien automatisch mit verbunden?

    welche dBase Version? Ist die BDE installiert? Wie bindest Du die Dateien ein?

    Bei Verwendung einer aktuellen Jet 4.0 Engine (oder wahrscheinlich auch der Access Database Engine) oder der BDE dürfte das von Haus aus gehen. Ansonsten siehe bspw.:

      http://support.microsoft.com/kb/230125/EN-US

    Der Artikel bezieht sich zwar auf Access 2000, ist aber vom Grunde her auch für neuere Versionen gültig, da es primär um Jet/DBE geht.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Montag, 2. Mai 2011 06:47
    Moderator
  • Hallo Stefan,

    also es funzt. Jetzt habe ich aber folgende Fragen: Kann per VB.NET-Code die Verbindung zwischen den DBF-Dateien und einer Access-Datenbank herstellen? Also quasi die Tabellen dann verknüpfen, wenn ich die Verbindung benötige und die Verknüpfung aufheben, wenn ich die Verbindung nicht mehr benötige? Weißt Du da einen Rat? Tausend Dank im Voraus für Deine Hilfe!

    Gruß
    Marcus

    P.S. Es ist DBase IV und die BDE ist installiert...


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Montag, 9. Mai 2011 10:20
  • Hallo Marcus,

    also es funzt. Jetzt habe ich aber folgende Fragen: Kann per VB.NET-Code die Verbindung zwischen den DBF-Dateien und einer Access-Datenbank herstellen? Also quasi die Tabellen dann verknüpfen, wenn ich die Verbindung benötige und die Verknüpfung aufheben, wenn ich die Verbindung nicht mehr benötige?

    du kannst zwar auch Verknüpfungen direkt in der Access DB erstellen, ob Du das wirklich willst, sei aber mal dahingestellt :) Wenn Du es willst, schau mal nach ADOX. Hier ein Beispiel:

      http://www.aspnetzone.de/forums/permalink/218801/218788/ShowThread.aspx#218788

    Sinnvoller erscheint mir aber, einfach eine Abfrage per Jet-Engine abzusetzen, mit der Du dann direkt auf die DBase Datei(en) zugreifen kannst. Füge hierzu dem ConnectionString, den Du bspw. für den Zugriff auf eine Access DB verwendest, das hier hinzu:

      Extended Properties=dBase 5.0;

    und gib bei "Data Source" den Pfad an, in dem die DBase Dateien liegen (nicht die einzelne .dbf Datei, wirklich den Ordner, wo diese Datei(en) drinliegen)

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Montag, 9. Mai 2011 11:30
    Moderator
  • Hallo Stefan,

    dazu habe ich eine kurze Frage: unsere IT wird hier in der Firma bis Ende des Jahres auf Windows 7 umstellen. Ich habe so etwas gehört, dass die Jet-Engine dann nicht mehr unterstützt wird...?! Wenn ja, dann ist das doch ein Problem, oder? Leider ist auf absehbare Zeit nicht an den dBase-Dateien zu rütteln. Diese bilden bei uns eine mittlerweile 10 Jahre alte Schnittstelle zwischen SAP und der Fertigung. Und man tritt hier keinen Esel, der läuft. Es sollte also auch noch unter Windows 7 laufen...

    Gruß
    Marcus


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Montag, 9. Mai 2011 12:14
  • Hallo Stefan,

    das mit dem geänderten ConnectionString läuft wie geschnitten Börek...;-) Aber was mache ich jetzt mit den Index-Dateien (.ntx). Bei einem Testlauf sehe ich zwar, dass die .dbf-Dateien geändert wurden, die Index-Dateien aber nicht. Wie stelle ich sicher, dass das geschieht? Tausend Dank im Voraus für Deine Hilfe!

    Gruß
    Marcus
    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Montag, 9. Mai 2011 12:22
  • Hallo Marcus,
    dazu habe ich eine kurze Frage: unsere IT wird hier in der Firma bis Ende des Jahres auf Windows 7 umstellen. Ich habe so etwas gehört, dass die Jet-Engine dann nicht mehr unterstützt wird...?! Wenn ja, dann ist das doch ein Problem, oder?

    vorab: Es wäre sinnvoller, neue Fragen in einem neuen Thread zu stellen. Dann hat man unter Umständen auch mehr portientelle Antwortende.

    Win7 unterstützt wie W2K8 problemlos die Jet Engine. Allerdings nicht in einer 64 Bit Umgebung. Wenn Du die Jet Engine nutzen willst, musst Du in deiner Anwendung in den erweiterten Kompilierungseinstellungen die Prozessorarchitektur von AnyCPU auf x86 umstellen. Dann geht das auch unter Win7 problemlos. Alternativ (wenn Du eine x64 Anwendung brauchst), kannst Du die Access Database Engine verwenden. Allerdings habe ich die noch nie mit DBase Dateien ausprobiert, das müsstest Du dann selbst mal machen.

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert mjanz Donnerstag, 12. Mai 2011 12:54
    Montag, 9. Mai 2011 13:08
    Moderator
  • Hallo Marcus,
    Aber was mache ich jetzt mit den Index-Dateien (.ntx). Bei einem Testlauf sehe ich zwar, dass die .dbf-Dateien geändert wurden, die Index-Dateien aber nicht. Wie stelle ich sicher, dass das geschieht?

    das sollte von ganz alleine passieren, zumindest wenn die BDE vorhanden ist. Am sinnvollsten prüfst Du das, indem Du in einem passenden Tool (gleich vorweg: Ich kenne keins^^) mal schaust, ob der Index aktualisiert wurde.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Montag, 9. Mai 2011 13:09
    Moderator
  • Hallo nochmal,

    ich werde noch wahnsinnig mit diesem DBF und NTX-Kram. Ich mache jetzt folgendes: über ADOX verknüpfe ich alle Tabellen mit einer Access-Datenbank und schaffe es auch über diese Access-Datenbank zu lesen und zu schreiben. Nach jedem Zugriff lösche ich die Verbindung zu Access wieder. Mein Problem ist, dass diese doofen NTX-Dateien nicht aktualisiert werden. Damit sind meine Änderungen quasi wertlos. Irgendwie muss das doch gehen...! Die BDE ist installiert und ich habe schon alles ausprobiert. Ich bin mit meinem Latein einfach am Ende! Habt Ihr noch eine Idee?

    Gruß
    Marcus
    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Dienstag, 27. September 2011 13:43
  • Hallo Marcus,
    ich werde noch wahnsinnig mit diesem DBF und NTX-Kram.

    NTX sagt ja eigentlich, dass es Clipper Dateien sind. Und ob man das wirklich ohne separate Tools lesen oder gar schreiben kann, solltest Du besser in einem entsprechenden Forum fragen. Mit .NET hat das in erster Linie nichts zu tun.

    Sorry, aber ich denke nicht, dass man dir hier im Moment weiterhelfen kann.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Mittwoch, 28. September 2011 10:59
    Moderator