Paradoxデータベースファイルの読み取り
-
06-07-2019 - |
質問
私は、明らかにParadoxデータベースに基づいて構築された既存のシステムを持っているクライアントと仕事をしています。データベースは、各テーブルに1つずつ、.DB、.MB、および.PXファイルを含むzipファイルの形式で取得しました。
このデータ(の一部)を取得して、MySQLを使用しているWebアプリケーションにインポートする必要があります。 Paradoxのインストールを伴わない、このデータを抽出する方法はありますか?
そうでない場合、Paradoxは何らかの読み取り可能な形式でエクスポートしますか? SQLまたは合理的に簡単に解析できるものとして?私のクライアントのこのシステムの責任者はボランティアです(彼らは非営利団体です)ので、私は彼に解決策を求めたいと思います。明らかにダメです。
解決
Paradox for DOSとParadox for Windowsプラットフォームの両方は、区切りテキスト、固定長テキスト、およびLotus 1-2-3形式でデータテーブルをエクスポートします。 DOS用の古いParadoxもLotus Symphonyを作成しますが、Windows用の少し古めかしいParadoxはまずまずのExcel 5を実行します。
ただし、誰かが座ってテーブルを1つずつエクスポートするか、スクリプトを記述してそれを行う必要があります。もちろん、スクリプトを作成するにはParadoxをインストールする必要があります。
-Al。
他のヒント
Paradoxに関するウィキペディアの記事には、他にも2つのことが記載されています。 interessant、両方ともGPLライセンスの下で:
また、Delphiを使用していて、自分でコンバーターを作成したい場合(BDEが動作する必要があります)、この記事またはこのWeb上のConvertCodeLibのソースコードサイト。どちらもTClientDatasetを使用しており、CDS(バイナリ形式)またはXMLファイルを書き込むことができます。
MSは、MS Jetドライバを使用してParadoxによって生成されたファイルからデータを読み取るための手順を持っています。 3-5。これは(少なくとも)ODBCドライバーとして機能するため、ODBCの使用方法を知っているものなら何でもParadoxファイルを読み取ることができます。
いくつかのオプションがあります:
- 元のParadoxソフトウェアを手に入れ、それを使用してデータベースを CSV 形式。残念ながら、Borlandはもはや販売しておらず、最新バージョンはWindows XP以降ではうまく動作しません。
- ParadoxまたはdBase / xBase ODBCドライバーを使用してデータベースにアクセスします。 ParadoxとxBaseは非常に似ているため、どちらかを対象としたドライバーを使用してデータを抽出できる場合があります。 firebirdsql.org のどこかにParadox ODBCドライバーを入手できる場合があります。
- Borland Delphiを使用して、必要なデータをエクスポートするプログラムを作成します。他の誰かが言ったように、 Turbo Explorer という無料版を入手できます。 Turbo Explorerには付属していないため、BDEも別途インストールする必要があります。
私は、ParadoxからMySQLへの巨大なデータ移行に取り組んできました。私の一般的なアプローチは、ParadoxからCSVファイルをエクスポートしてから、MySQLコマンドラインからCSVファイルをインポートすることです。ただし、ParadoxにM(メモ)フィールドがある場合、このシステムは故障します。そのデータは期待どおりにCSVファイルに取り込まれないためです。
これは、ParadoxデータをMySQLに取り込むための長年のプロセスです。
-
ParadoxでParadoxファイルを開き、dbase(.dbf)ファイルにエクスポートします。これは、メモデータをdbaseのblob形式にエクスポートします。
-
Paradoxで.dbfファイルを開きます。 dbfviewerで開く前に、倍精度形式を長整数または数値に変換する必要がある場合があります。ダブルフォーマットが機能していないようです。ファイルを保存します。
-
このプログラムを使用してdbaseファイルを開き、Excelにエクスポートします。 http://dbfviewer.org/ エクスポート-> XLSファイル…これでExcelで開きます
-
ExcelにはCSVフィールドを引用符などで囲むネイティブな方法がないため、マクロを作成する必要があります。以下にマクロを貼り付けましたが、見つけた参照サイトは次のとおりです。あるサイトではより良い指示がありましたが、テキストが破損していました。 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/
-
Excelですべてを置換" CTRL-Fで 'に置き換えます...任意の"記録が乱雑になります
-
ExcelでALT-F11を押してマクロを開きます 挿入->モジュール このマクロを作成して、二重引用符で囲まれたCSVファイルを保存します。
サブ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
-
次に実行-&gt;マクロを実行
-
blobを配置したいテキストフィールドでターゲットMySQL dbスキーマを設定します
-
MySQLコマンドラインにインポートの実行方法の例を示します。
LOAD DATA LOCAL INFILE 'C:/data.csv' INTO TABLE table_name 「、」で終了するフィールド 「&quot;」で囲まれています 「\ r \ n」で終了した行 (column1、column2)
Paradoxは、さまざまなDelphiプログラミング製品に含まれているBorland Database Engineのネイティブ形式です。所有権は最近少なくとも1回は変わっていますが、ある時点で無料の「エクスプレス」がありました。このようなものをエクスポートする簡単なプログラムを作成できるDelphiのバージョンがあります。無料版が利用できなくなった場合、利用可能な最低のSKUにBDE機能を含める必要があります。
MS Access 2007を使用すると、無料のParadox Database Editorプログラム(google it)に含まれているBDEディストリビューションを使用してParadox 7以下をインポートできます。次のような接続を使用します。
DoCmd.TransferDatabase acImport, "ODBC Database", _
"Paradox 3.X;HDR=NO;IMEX=2;ACCDB=YES;DATABASE=C:\apache\Archive;TABLE=Messages#db", _
acReport, DailyArchiveName, "MyDatabase"