![]() |
Datenbank: Dbase • Version: for Windows • Zugriff über: Firedac
FireDAC->DBASE geht das?
Hallo,
ich muss für einen Export nach DBase einen Zugriff auf dieses altehrwürdige Stück IT-Geschichte erlangen. Leider bin ich garnicht mit dieser Sache vertraut. Folgendes auf der haben Seite: -Mit der "D7 Datenbankoberfläche" eine "Adressen.DBF" Datei/Datenbank/Tabelle gebaut. -MDAC runtergaladen und installiert, vermutlich ist ODBC wohl nötig. -Projekt mit dem man nach Firebird zugreifen kann um TADPhysODBCDriverlink erweitert. Was noch fehlt: -Was muss ich im ODBCAD32.exe einstellen, damit dieser mit der DBASE Datenbank kann? -Wie haben die TADConnection.Parameter auszusehen? [Edit] -Habe im ODBCAD32.exe mal einen SystemDSN für die Datei angelegt [/Edit] Wäre nett, wenn auch nur Wissensschnipsel vorhanden sind, daas ihr sie postet, vielleicht ergibt sich dann noch ein Bild. |
AW: FireDAC->DBASE geht das?
Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files
Ado für DBase via odbc Die System DSN erfordert aber Admin-Rechte (Standard) da könntest Du Probleme bekommen Pardon die Regeinträge hab ich vergessen: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI] [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dBASE Files] "Driver"="C:\\Windows\\system32\\odbcjt32.dll" "DriverId"=dword:00000215 "SafeTransactions"=dword:00000000 "UID"="" [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dBASE Files\Engines] [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dBASE Files\Engines\Xbase] "ImplicitCommitSync"="" "Threads"=dword:00000003 "UserCommitSync"="Yes" [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Excel Files] "Driver"="C:\\Windows\\system32\\odbcjt32.dll" "DriverId"=dword:00000316 "SafeTransactions"=dword:00000000 "UID"="" [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Excel Files\Engines] [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Excel Files\Engines\Excel] "ImplicitCommitSync"="" "Threads"=dword:00000003 "UserCommitSync"="Yes" "FirstRowHasNames"=hex:01 [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\MS Access Database] "Driver"="C:\\Windows\\system32\\odbcjt32.dll" "DriverId"=dword:00000019 "SafeTransactions"=dword:00000000 "UID"="" [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\MS Access Database\Engines] [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\MS Access Database\Engines\Jet] "ImplicitCommitSync"="" "Threads"=dword:00000003 "UserCommitSync"="Yes" [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources] "MS Access Database"="Microsoft Access Driver (*.mdb)" "Excel Files"="Microsoft Excel Driver (*.xls)" "dBASE Files"="Microsoft dBase Driver (*.dbf)" Fehlt nur noch die konkrete Datei. Gruß K-H |
AW: FireDAC->DBASE geht das?
[Edit]
Das mit den Registry einträgen ist aber hart. Wie kommt man auf sowas? [/Edit] Habe eine System DSN und ein User DSN angeleget. Die Connection parameter sehen bei mir für Firedac (ado können wir nicht einsetzen) so aus
Code:
also das sind die Parameter die funktionieren
DriverID=ODBC
ODBCDriver=Microsoft DBase Driver (*.dbf) Aus irgendeinem Grund muss er wohl diese auch noch haben, weil ich loginPrompt aktiviert habe.
Code:
Das Problem ist ich weiß nicht wie ich der ADConnection sage sie soll diese DSN benutzen.
User_Name=Dbase
Password=test Bei mir steht da einfach das hier.
Code:
Das führt nicht zu nem Fehler....aber wenn ich ein Querry absetze
ODBCAdvanced= DSN=Adressen3
Code:
Meldet er:
Select * from Adressen
Zitat:
Das selbe sagt er mit Adressen3 anstelle von Adressen . |
AW: FireDAC->DBASE geht das?
Zitat:
Ein Import ist so sowieso nicht möglich...weil mein Spielsystem WIn2k ist. Ich baue das mal um und gucke ob das etwas ändert wenn ich die Registryeinträge importiere. Hmm eine C:\\WinNT\\system32\\odbcjt32.dll gibts da nicht |
AW: FireDAC->DBASE geht das?
Zitat:
Ich hab noch eine .DBF-Datei gefunden:
Code:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dBASE Files] "Driver"="C:\\Windows\\system32\\odbcjt32.dll" "DefaultDir"="Das_ist_meine_Datei" "Description"="dd" "DriverId"=dword:00000215 "FIL"="dBase 5.0" "SafeTransactions"=dword:00000000 "UID"="" [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dBASE Files\Engines] [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dBASE Files\Engines\Xbase] "CollatingSequence"="ASCII" "Deleted"=hex:00 "ImplicitCommitSync"="" "PageTimeout"=dword:00000005 "Statistics"=hex:00 "Threads"=dword:00000003 "UserCommitSync"="Yes" Zitat:
Zitat:
[QUOTE=QuickAndDirty;1239092] Das Problem ist ich weiß nicht wie ich der ADConnection sage sie soll diese DSN benutzen. Bei mir steht da einfach das hier.
Code:
Das führt nicht zu nem Fehler....aber wenn ich ein Querry absetze
ODBCAdvanced= DSN=Adressen3
Code:
Meldet er:
Select * from Adressen
Zitat:
Und wie sieht es mit den Zugriffsrechten aus????? Gruß K-H |
AW: FireDAC->DBASE geht das?
Zitat:
der DSN heist Adressen3 Ich habe gelesen das es probleme mit dem Case der Zeichen gibt, alles sollte ganz Groß oder ganz klein geschrieben sein? Zitat:
|
AW: FireDAC->DBASE geht das?
Du könntest alternativ einen ADS Treiber verwenden. Der wird direkt von FireDAC unterstützt (TFDPhysADSDriverLink). Das sind 2 Dll und fertig. Kein ODBC, keine Registry, keine Probleme.
|
AW: FireDAC->DBASE geht das?
[OT]
Zitat:
[/OT] Gruß K-H |
AW: FireDAC->DBASE geht das?
Zitat:
[Edit] Ich lade gerade arc32.exe herunter, ich denke das es das ist ? [/Edit] |
AW: FireDAC->DBASE geht das?
Eigentlich ist das das SQL-Tool zu ADS, aber es enthält wohl auch die Dlls. Es sind in den neueren Versionen 4 dll:
Für dBase brauchst Du wahrscheinlich die 4. nicht. Die Installation schmiß früher die dlls immer ins system32. Dort holst Du Dir die dann raus und schiebst sie in Deinen Pfad bzw. zur Benutzung durch Arc32 in dessen Programmverzeichnis, dann ist das sauber. [edit] Die Client-Engine findest Du ![]() ![]() |
AW: FireDAC->DBASE geht das?
Zitat:
DriverID=ADS Database=c:\Daistsie\Adressen.dbf [Edit] TableTyppe=VFP ändert erst mal nichts [/Edit] Da meint er "Error 6420" kann das sein? "The 'discovery' process of the Advantage Database Server faile. Unable to connect to the Advantage Database Server. axServerConnect." |
AW: FireDAC->DBASE geht das?
Schau mal in der Doku. Um den Server lokal (also ohne Server-Dienst) zu verwenden musst Du das auch im Treiber einstellen:
Code:
Und Database ist das Verzeichnis. Den Tablename setzt Du in der FDQuery oder FDTable.
ADS_LOCAL_SERVER = 1
|
AW: FireDAC->DBASE geht das?
YAY!!!!!
Also, ich denke das war jetzt das was fehlte! Es scheint zu funktionieren. Danke euch beiden, für die Hilfe! Ich schreibe mal 'nen Abschluss Post,das künftige Fragesteller sich nicht alles durchlesen müssen: Um mit Firedac ein DBase machen zu können habe ich folgendes gemacht TADConnection.Param konfiguriert
Code:
DriverID=ADS
TableType=VFP ServerTypes=Local Database=c:\DerOrdnerDerDB
Delphi-Quellcode:
Mich hier angemeldet (Get a Free Trial) :
MyADConnection.LoginPrompt := false;
![]() Und unter dem Punkt "Others" die Advantage API für Windows 32 heruntergeladen und installiert. Danach muss man Delphi neustarten.... Danach müsste es gehen. ... Habe die ODBC Dbase Verbindung nun auch hin bekommen. Wenn man einen Fertigen DSN hat dann muss der PARAMS wert von ADConnection wie folgt aussehen Zitat:
Den DSN kann man im ODBCad32.exe einstellen... evtl. muss man vorher MDAC runterladen und installieren. |
AW: FireDAC->DBASE geht das?
Ich habe gemäß den Angaben von Embarcadero den Zugriff mit FireDac auf eine dbase-Datei erfolgreich eingerichtet.
Ich kann die Daten auch z.B. in einem StringGrid anzeigen lassen aber die Umlaute werden nicht korrekt angezeigt (ü verschwindet völlig, ß wird zu á usw.). Experimente mit Charset=.. unter FDConnection.Params zeigen keine Wirkung. Unter den Advantage Dateien aus dem Ordner REDISTRIBUTE ist eine Konfigurationsdatei (adslocal.cfg) in der man ebenfalls Einträge zum Zeichensatz vornehmen kann - auch das hat leider keine Wirkung. Jetzt bin ich ratlos ... |
AW: FireDAC->DBASE geht das?
Was hast Du genau gemacht? Setzt Du die Remote-Server oder die Local-Connection ein? Falls Remote, musst Du das verwendete Charset in der Serverkonfiguration angeben, ADSLocal hat dann keine Auswirkung.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz