エクスポートオプションが利用できない場合、レガシーDOSアプリケーションでデータをエクスポートするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/420762

  •  05-07-2019
  •  | 
  •  

質問

RAIMAデータベースを使用して、レガシーDOSシステムからデータをエクスポートするタスクを顧客から与えられているため、作成中の新しいシステムにインポートできます。データをフラットファイル形式で保存しているように見えますが、ファイルを開くと、ほとんどのテキストは意味不明です。

開いたファイルの上部にRaima Database Managerが表示されます...その用語をググリングしてみましたが、古いデータベース形式のようです。言うまでもなく、ソフトウェアを書いたベンダーはもはやサポートしていません。このデータをエクスポートする他の方法はありますか?

画面からデータを自動的に取得する方法はありますか

これはシンプルな請求書発行システムです。すべての情報はアプリケーションの単一の画面に表示されます。

役に立ちましたか?

解決

Raima Data Managerバージョン3.21Aの場合この記事は、アプリがCで記述されている可能性が高く、 Raima Data Definition Language を使用してファイルを構造化しました。同様のファイルを探して.dbdと.tblを確認します。 16進モードがあります。データ構造がファイルの1つに埋め込まれている可能性が非常に高いです。

編集:

詳細情報へのリンクがあります

http://www.raima.com/

http://www.raima.com/database_technology/rdm.php3 http://www.raima.com/database/download.php3

>

http://database.ittoolbox .com / topics / t.asp?t = 411& p = 415& h1 = 411& h2 = 412& h3 = 415

http://www.faqs.org/faqs/databases/free-データベース/

http://www.ittia.com/products/ittia_odbc.html

http://www.mactech.com /articles/mactech/Vol.07/07.02/db_VistaIII/index.html

他のヒント

Raima はまだ進行中のようです。メールを落とすか、新製品の1つに下位互換性があります。それからデータをダンプするか、ファイル形式を把握するためにアプリをリバースエンジニアリングする場合に失敗します。

どのバージョンのRaima Database Managerが使用されたかを知るのに役立ちます。 db_Vista または RDM または Velocis または RDM Embedded ? DOSアプリが書かれたおおよその時代は、可能なバージョンを絞り込むのに役立ちます。

RDM Embeddedは2000年頃にCenturaによってオープンソースとしてリリースされ、その後db.linuxに名前が変更されました。ソースコードでファイルの構造を明らかにする情報を見つけることができます。

いずれにせよ、db_Vistaは1982年に生まれたため、Bツリーファイル/インデックスシステムである可能性があります。

2番目のオプション(または最後の手段)として、Raimaがあなたを助けられない場合は、自動化ツールを使用して画面から情報を収集し、分析することができます。 DOSアプリであるため、Windowsコンソールウィンドウで実行できる場合は、 Eggplant 、 TestComplete 、または HighTest 。これらのツールはすべて、主にGUIまたはUIを介したテスト自動化のために設計されていますが、このタイプのジョブには非常に適しています。 HightestにはかつてDOSバージョンがあったと思います。

他のオプションは、dosアプリがすべてのアプリケーションデータをテキストファイルに出力し(prn:のリダイレクトを介して)、プレーンテキスト形式から解析するレポートメカニズムを使用することです。動作しますが(正規表現は余分ながらくたをすばやく解析できます)、私はそれを実行しました。

DOSアプリケーションはWindows XPのコマンドウィンドウで実行されますか?その場合、テキストエディターまたはスプレッドシートにデータをカットアンドペーストできる場合があります。

別のアイデアが思い浮かびます。 Java Robotまたは単純なWin APIコードを使用して、キーストロークをコマンドウィンドウに送信してレコードをページングできます。それはあなたの戦いの半分です。コマンドウィンドウに「すべて選択」オプションがあり、それを「コピー」と組み合わせるように見えます。コマンドと設定する必要があります。

また、データベース形式がその時代に一般的なものではない可能性-db3、Paradox、Filemakerなど-がファイル拡張子が変更されたものである可能性を無視して、おそらく20分を費やす必要があります。 Excelなどでフォーマットを指定して開きます(必要な場合は、最初に追加のフィルターをExcelに追加します)。ボーランドのデータベースデスクトップも、この種の試験に適していました。

ロングショットですが、いくつかの「あいまいな」ファイル形式がより一般的なもの(特にdb3)の難読化されたバージョンであることが判明したとき、私にとっては報われました。 DOSの時代以外では、難読化されたAccessファイルがときどき現れることがあります。

Raima(少なくとも私が使用しているバージョン)には、データファイルを人間が読める形式で書き出すdatdumpというツールが付属しています。 RaimaデータベースからCSVファイルを生成できるdbexpというツールもあります。

私はライマの素晴らしい人々があなたを助けることができると確信しています。私は彼らがまだ存在していることを知っています。彼らのウェブサイトは、彼らのデータファイルのファイル形式をそのサポートエリアに投稿しているのを見ます。これはRaimaのバージョンごとに変わる可能性がありますが、独自の抽出コードの記述を開始する方法についての良いアイデアを提供するはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top