Das nächste Entwicklertreffen findet Anfang Mai in Münster statt - weitere Infos bzw. zur Anmeldung!

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 » Fr, 24. Feb 2006 8:58

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: 14597
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Martin Altmann » Fr, 24. Feb 2006 9:11

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
stellv. 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 » Fr, 24. Feb 2006 9:45

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: 14597
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Martin Altmann » Fr, 24. Feb 2006 9:53

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
stellv. 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 » Fr, 24. Feb 2006 10:33

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
Foren-Moderator
Foren-Moderator
Beiträge: 1742
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Kontaktdaten:

Beitrag von andreas » Fr, 24. Feb 2006 12:10

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
Beisitzer 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 » Fr, 24. Feb 2006 15:39

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: 14632
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Beitrag von brandelh » Mi, 08. Mär 2006 11:41

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: 11551
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

DBF / ODBC / MDAC

Beitrag von AUGE_OHR » Sa, 09. Sep 2006 23:45

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: 11551
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Lösung bei ODBC Problemen

Beitrag von AUGE_OHR » So, 10. Sep 2006 6:09

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