Lesen Paradox-Datenbank-Dateien
-
06-07-2019 - |
Frage
Ich arbeite mit einem Kunden, der ein bestehendes System, aufgebaut auf dem, was offenbar eine Paradox-Datenbank. Ich habe die Datenbank erhalten, in Form einer ZIP-Datei mit .DB, .MB und .PX Dateien, eine für jede Tabelle.
Ich muss nehmen (etwas) dieser Daten und importieren Sie es in eine Web-Anwendung, die von MySQL verwenden. Hat jemand für mich eine Möglichkeit, diese Daten zu extrahieren, die nicht mit sich bringt Paradox zu installieren?
Wenn nicht, tut Paradox Export in einigem lesbaren Format? Entweder als SQL oder etwas, das vernünftigerweise leicht analysiert werden? Die Person, die für dieses System für meine Kunden ist ein Freiwilliger (sie sind eine Non-Profit), also würde ich mit einer Lösung zu ihm gehen möchte - weil ich das letzte Mal für die Daten gefragt, ich das bekam, was eindeutig nicht gut.
Lösung
Sowohl das Paradox für DOS und Paradox für Windows-Plattformen werden Datentabellen in Getrennter Text, mit fester Länge Text und Lotus 1-2-3-Formate exportieren. Die ältere Paradox für DOS schreibt auch Lotus Symphony, während die etwas weniger antike Paradox für Windows hat eine passable Excel 5.
Allerdings wird jemand hinsetzen und die Tische einzeln exportieren, oder ein Skript, es zu tun schreiben. Natürlich müssen Sie das Skript schreiben Paradox installiert haben.
-Al.
Andere Tipps
Die Wikipedia-Artikel über Paradox zwei andere Dinge auflistet, das auch sein mag interessant, sowohl unter der GPL-Lizenz:
- pxlib: Bibliothek Paradox-Datenbanken lesen und schreiben
- pxtools: konvertiert eine Paradox-Datenbank in eine SQL-Datenbank
Und wenn Sie Delphi und wollen einen Konverter selbst schreiben (die die BDE benötigen würde zu arbeiten) Sie einen Blick auf dieser Artikel oder am Quellcode ConvertCodeLib auf dieser Web Website . Sowohl die Verwendung von TClientDataset machen, die eine CDS (Binärformat) oder eine XML-Datei schreiben kann.
MS hat Anweisungen die MS Jet-Treiber für die Verwendung von Daten aus Dateien produziert von Paradox zu lesen 3-5. Das kann so wirken, als (zumindest) ein ODBC-Treiber, so dass Sie es verwenden können, eine Paradox-Datei aus einfach alles zu lesen, der weiß, wie ODBC zu verwenden.
Sie haben ein paar Optionen:
- Erhalten Sie Ihre Hände auf der ursprünglichen Paradox-Software, und es verwendet, um die Datenbank in CSV
Format. Leider Borland nicht mehr verkauft es und die aktuellste Version läuft nicht gut auf Windows XP oder höher. - Zugriff auf die Datenbank entweder ein Paradox oder dBase / xBase ODBC-Treiber. Paradox und xBase sind sehr ähnlich, so dass Sie kann für eine von ihnen die Daten mit Hilfe Treiber gemeint extrahieren können. Sie können in der Lage sein, ein Paradox ODBC-Treiber irgendwo auf firebirdsql.org zu erhalten.
- Verwenden Sie Borland Delphi, ein Programm zu schreiben, das die Daten exportieren, die Sie benötigen. Als jemand anders erwähnt, können Sie eine kostenlose Version Turbo Explorer genannt bekommen. Sie werden auch die BDE separat installiert werden muss, da es nicht mit Turbo Explorer kommt.
Ich habe auf einer gigantischen Datenmigration von Paradox zu MySQL gearbeitet. Mein allgemeiner Ansatz war, CSV-Dateien von Paradox zu exportieren und importieren Sie dann die CSV-Dateien aus der MySQL-Kommandozeile. Doch dieses System zusammenbricht, wenn es M (Memo) Felder in Paradox, weil die Daten nicht in der CSV-Datei gezogen bekommt wie erwartet.
Hier ist mein langatmiger Prozess Paradox-Daten in MySQL für immer, hoffentlich hilft es jemanden!
-
Öffnen Paradox-Datei in Paradox, den Export in dBase (DBF-Datei). Was dies tut, ist es die Memo-Daten in dBase der Blobs Format exportiert.
-
Öffnen Sie die DBF-Datei in Paradox. Es könnte notwendig sein, um Doppelformat zu lange ganze Zahl oder eine Zahl zu konvertieren, bevor in dbfviewer öffnen. Doppel Format scheint zu funktionieren nicht. Speichern Sie die Datei.
-
Mit diesem Programm können Sie die dBASE-Datei öffnen und dann nach Excel exportieren: http://dbfviewer.org/ Export -> XLS-Datei ... Dies öffnet es in Excel
-
Jetzt brauchen wir einen Makro zu erstellen, da Excel hat keine native Möglichkeit CSV Felder mit Anführungszeichen oder irgendetwas anderes zu umschließen. Ich habe das Makro unten eingefügt, aber hier sind die Referenzseiten, die ich gefunden habe. Eine Website hatte bessere Anweisungen aber beschädigten Text: http://www.mrexcel.com /forum/showthread.php?320531-export-as-csv-file-enclosed-quotes http://www.markinns.com/articles/full/export_excel_csvs_with_double_quotes/
-
In Excel ersetzt all "mit" STRG-F, ersetzen ... any" in Aufzeichnungen verwirrt Zeug
-
In Excel drücken Sie ALT - F11 zu öffnen, Makros Einfügen -> Modul Erstellen Sie dieses Makro CSV-Dateien eingeschlossen in doppelten Anführungszeichen zu speichern:
Unter csvfile ()
Dim SrcRg As Range Dim CurrRow As Range Dim CurrCell As Range Dim CurrTextStr As String Dim ListSep As String Dim FName As Variant FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv") If FName <> False Then ListSep = Application.International(xlListSeparator) If Selection.Cells.Count > 1 Then Set SrcRg = Selection Else Set SrcRg = ActiveSheet.UsedRange End If Open FName For Output As #1 For Each CurrRow In SrcRg.Rows CurrTextStr = "" For Each CurrCell In CurrRow.Cells CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep Next While Right(CurrTextStr, 1) = ListSep CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1) Wend Print #1, CurrTextStr Next Close #1 End If End Sub
-
Dann Run -> Ausführen Makro
-
Einrichten Ziel MySQL db Schema mit Textfeldern, wo wir die Blobs hinwollen
-
In MySQL Kommandozeile ist hier ein Beispiel dafür, wie der Import zu tun:
LOAD DATA LOCAL INFILE 'C: /data.csv' INTO TABLE table_name FIELDS BY BEENDET '' UMSCHLOSSEN '"' LINES BEENDET BY '\ r \ n' (Column1, column2)
Paradox ist ein native Format für die Borland Database Engine, die mit verschiedenen Delphi-Programmierung Produkten enthalten ist. Eigentümer hat den Besitzer gewechselt mindestens einmal vor kurzem, aber an einem Punkt gab es frei „Express“ -Versionen von Delphi zur Verfügung, lassen würden Sie ein einfaches Programm schreiben, um diese Sachen zu exportieren. Wenn eine freie Version nicht mehr verfügbar ist, sollte die niedrigste verfügbare SKU BDE-Funktionalität umfassen.
MS Access 2007 können Sie in importieren Paradox 7 und unter Verwendung der BDE-Verteilung mit dem freien Paradox-Datenbank-Editor-Programm enthielt (google it). Verwenden Sie eine Verbindung wie zum Beispiel:
DoCmd.TransferDatabase acImport, "ODBC Database", _
"Paradox 3.X;HDR=NO;IMEX=2;ACCDB=YES;DATABASE=C:\apache\Archive;TABLE=Messages#db", _
acReport, DailyArchiveName, "MyDatabase"