まず、この質問がテキストの壁のように見える場合はお詫び申し上げます。書式を設定する方法は思い出されません。
私は未知のデータベースが格納されているUNIX(SCO OpenServer 6)を実行しているコンピュータ(1995年頃)に貴重なデータを持っています。
ライセンスの有効期限が切れ、開発者が取引しなくなったソフトウェアパッケージを介してデータにアクセスすることがよくあります。
パッケージはTelnetを介してシステムに接続してデータを取得および変更します(ライセンスの変更によりTelnet接続が機能しなくなりました)。
ネットワークのODBCドライバ(SeaODBC.dll)を介してシステムにアクセスでき、これはデータを抽出する予定ですが、これまでわずか24時間で300,000行を検索しました。行数は50,000,000個なので、現在の速度で6ヶ月かかります!
私はUNIXインタフェースを試してみましたが、私が見つけることができる唯一の大きなファイルは、単一文字フォルダの巨大な行列(A> G>データ、A> H>データなど)にあります。
ODBCを介してマシンからデータを抽出するより高速な方法、またはマシンのローカルデータベース全体を外部ドライブ/ネットワークドライブまたは他の外部ソースに抽出する方法が必要です。
コンピュータにどのデータベースシステムがインストールされているかを確認する方法を知っている人はいますか?うまくいけば、これが標準であり、すべてを素晴らしい形式のファイルにエクスポートする方法を見つけることができます!
答え1
試してみる(特定の順序なし):
file(1)
このファイルを識別できます。- 奇妙でマウントされていないディスクパーティションは、rawデバイスである可能性があります。
- 周りを見回すと
/etc/init.d
(またはサービスを開始するために使用するシステムが何であれ)、データベースはおそらくそこから起動されたでしょう。 strings(1)
実行ファイルに適用すると、コメント、バージョン文字列などを識別するのに役立ちます。- ライセンスが期限切れになった場合は、日付をリセットしてみてください。
- おそらくパッケージベンダーを検索してみると、彼らが好むデータベースのヒントを見つけることができます。
- ディスク全体を別の場所にコピーして、より強力なマシンで分析します。
- 私はSCOシステムを使用しています長い以前はすごい痛みでした。しかし、当時は基本的なパッケージ管理システムがあり、これを利用してサードパーティのパッケージがインストールされました。おそらく、何をインストールするかを教えるように説得することができます。
答え2
ついに問題を解決し、他のツール(MS AccessやMS Excelではない)を使用してはるかに速くクエリを実行し、最終的にDaFT(データベースフィッシングツール)を使用してSELECT INTO
テキストファイルを処理しました。 5000万行がすべて数時間で処理されました。
私が使用しているDLLドライバがどのMS製品でも正しく動作しないようです。