DBF-Datei(en) mit ODBC-Treiber öffnen

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
notloesung
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 194
Registriert: Fr, 24. Feb 2006 8:09
Kontaktdaten:

DBF-Datei(en) mit ODBC-Treiber öffnen

Beitrag von notloesung »

Hallo,

gerade erst angemeldet und schon die erste Frage …

Es geht um das Öffnen von DBF-Dateien mit ODBC-Treibern.
Ich habe auf dem Rechner (Lokal) DBF-Files liegen. Wie gesagt, diese würde ich gerne per ODBC-Treiber öffnen.

Hintergrund:
Ich möchte mit einem Datenbanktool ein ERM (aus bestehenden DBFs) erstellen -> zur Dokumentationszwecken. (Im Tool selbst kann ich ODBC-Datenbanken importieren.)

Hat schon jem. ähnliches gemacht / probiert und kann mal einen Tipp geben?

Schöne Grüße,
Notloesung
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo notloesung,
hast Du auf dem PC Office installiert? Da ist eigentlich ein entsprechender ODBC-Treiber mit bei!
Ab dem Microsoft MDAC 2.1 werden dBase-Dateien unterstützt, wie Du hier nachlesen kannst - schau Dir mal dort den Abschnitt dBASE-Dateien importieren oder verknüpfen relativ weit unten auf der Seite an.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
notloesung
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 194
Registriert: Fr, 24. Feb 2006 8:09
Kontaktdaten:

Beitrag von notloesung »

Hallo Martin,

das mit dem Verknöpfen / Importieren klappt schon ganz gut (auch wenn vorerst nur mit Office).
Lieder kann ich keine DB Verknöpfen / Importieren die mit Xbase erstellt wurden und ein Memo-Feld beinhalten.
Gibt es da irgendwelche Tricks?

Gruß,
Notloesung
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo notloesung,
dazu kann ich Dir leider nichts sagen, da ich mit ODBC nur ab und an unter Access arbeite und damit auf div. SQL-Server zugreife.
Aber ist Deine DBF-Datei wirklich dBase? Es gibt da nämlich (wenn ich mich nicht mal wieder irre) Unterschiede zwischen den Memofeldern bei dBase-DBF und FoxPro(:?:)-DBF-Dateien.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
notloesung
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 194
Registriert: Fr, 24. Feb 2006 8:09
Kontaktdaten:

Beitrag von notloesung »

Ist es, oder doch nicht?
Wie gesagt habe die DB folgendermaßen erzeugt:

---------->---------->
PROCEDURE Main

LOCAL oSession

IF dbeload( "ADSDBE" )

dbesetdefault( "ADSDBE" )

oSession := DacSession():New( "ADSDBE", [Laufwerkbuchstabe] )

IF oSession:isConnected()

set DEFAULT TO [Pfad]

dbeinfo( COMPONENT_DATA, ADSDBE_TBL_MODE, ADSDBE_CDX )
dbeinfo( COMPONENT_ORDER, ADSDBE_TBL_MODE, "CDX" )

/* DB erzeugen */
Erzeuge_db()

ENDIF
ENDIF

RETURN
<----------<----------


---------->---------->
STATIC PROCEDURE Erzeuge_db()

LOCAL cFileName, ;
aStructure

cFileName := [Filename]

aStructure := { { "FELD1", "N", 5, 0 }, ;
{ "FELD2", "D", 8, 0 }, ;

{ "FELDX", "M", 10, 0 } ; //Memofeld
}

DbCreate( cFileName, aStructure )

RETURN
<----------<----------


Also dBase oder doch nicht? Ich kenne die Unterscheide leider nicht.

Gruß,
Notloesung
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Versuche mit dem ODBC-Treiber für Visual FoxPro. Es kann sein, dass der in MDAC nicht verfügbar ist. Dann musst du den von Microsoft runterladen. Ich galube, dass es irgendwo unter MSDN zu finden war.
Gruß,

Andreas
VIP der XUG Osnabrück
notloesung
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 194
Registriert: Fr, 24. Feb 2006 8:09
Kontaktdaten:

Beitrag von notloesung »

Hi,

das funktioniert.

Habe inzwischen herausgefunden dass DB die direkt im Xbase erstellt wurden (zumindest meine, wie o.g.) das Format FoxPro2 haben.
Ob das wohl grundsätzlich gilt?

Zumindest bin ich jetzt schon einen Schritt weiter!

Erstmal schönen Dank,
Notloesung

… nächstes Problem ist im anmarsch … eh, ich meine natürlich die nächste Herausforderung …
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo,

standardmäßig (original DBESYS.PRG in C:\ALASKA\XPPW32\SOURCE\SYS wird verwendet, wenn man keine angibt) generiert Xbase++ die DBF mit DBFNTX also im Clipperformat.
Das sollte immer gehen, auch wenn einige Anwendungen Probleme mit den Memofeldern haben.

In deinem Beispiel änderst du den Standard auf ADS ab.

Auch FOXCDX ist nicht unproblematisch im ODBC Zugriff.

Soweit ich weiß ist übrigens ein DBF ODBC Treiber Standard auch ohne Office, bin mir da aber nicht ganz sicher.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

DBF / ODBC / MDAC

Beitrag von AUGE_OHR »

Hi,

DBF / ODBC / MDAC ...

gleich vorweg : es geht nicht darum die DBF mit Xbase++ zu öffnen !

Also ich arbeite mit einem „Visual C“ Programm zusammen auf eine DBF.
Das was ich nun „geliefert“ bekam konnte ich auch per DBFNTX öffnen,
schreiben und anzeigen in Xbase++, aber komischerweise nicht in der
„Visual C“ Application „sehen“ (Browse ist leer) .

Nun hab ich das ganze auf einem anderen „leeren“ Win98se PC
ausprobiert und da funktioniert beides ...

Da die „Visual C“ Anwendung ja irgendwie eine „Treiber“ für die DBF
braucht habe ich also an M$ gedacht und mit die „lates“ JET sowie MDAC
Komponenten für W98se geholt und installiert. Leider hat sich nichts geändert.

Während die JET und MDAC Komponenten jetzt „lates“ Version aufweisen
Sagt mein ODBC32.DLL immer noch was von 3.5xxxx ... muss ich die
auch nochmal irgendwie „updaten“ ?

Nun hab ich mal „alle Visual C“ DBF Type angefordert und ausprobiert und
nur der „Foxpro 3“ Type lies was in der „Visual C“ Application anzeigen
ABER das auch nur auf „meinem“ PC während nun der vorher
„funktionsfähige“ NICHT mehr funktioniert ...

also was kann ich nun noch machen ? „Office97“ drüber installieren/
deinstallieren ?

wer hat noch eine Tip ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Lösung bei ODBC Problemen

Beitrag von AUGE_OHR »

uff ich habe es gefunden, es ist/war die "Borland BDE" !!!

wie ich es gefunden habe ? Ich habe "depends.exe" auf beiden PC
laufen lasssen und mir angesehen welche DLL er nun lädt. Dabei
ist mir aufgefallen das auf "meinem" auch "Borland BDE" DLL geladen
wurden die auf dem "orignal win98se" nicht existieren. Also ab ich die
einfach mal zusammen gepackt und gelöscht und siehe da nun hab
ich endlich auch eine Anzeige auf "meinem" PC.

Tja das scheinen sich wieder einmal "Borland" und M$ in die Quere
zu kommen. Dumm nur das alle "Dbase" Produkte auf die "Borland DBE"
wollen wenn die ODBC benutzen ...

gruss by OHR
Jimmy
Antworten