Database
SCO Openserver 6 上整個數據庫的數據提取
首先道歉,如果這個問題看起來像一堵文字牆,我想不出一種格式化它的方法。
我有一台機器上有有價值的數據(大約 1995 年),這台機器執行的是 UNIX(SCO OpenServer 6),上面儲存了一個未知的數據庫。
數據通常通過許可證已過期且開發商不再交易的軟體包來訪問。
軟體包通過telnet連接到機器,檢索數據和修改數據(telnet連接由於許可證被更改而不再起作用)。
我可以通過網路通過 ODBC 驅動程序 (SeaODBC.dll) 訪問機器,這就是我計劃提取數據的方式,但到目前為止,我在 24 小時內檢索了 300,000 行,我估計總共會有總共 50,000,000 行,所以以目前的速度需要 6 個月!
我玩過 UNIX 界面,我能找到的唯一大文件位於單個字元文件夾的巨大矩陣中(例如 A>G>data、A>H>data 等)。
我需要一種更快的方法來通過 ODBC 從機器中提取數據,或者需要一種將機器上本地的整個數據庫提取到外部驅動器/網路驅動器或其他外部源的方法。
有誰知道如何找出機器上安裝的數據庫系統?希望這是一個標準,我將能夠找到一種方法將所有內容導出到格式良好的文件中!
我終於解決了這個問題,使用另一個工具(不是通過 MS Access 或 MS Excel)執行查詢速度更快,最終使用 DaFT(數據庫釣魚工具)到
SELECT INTO
文本文件。在幾個小時內處理了所有 5000 萬行。看來我使用的 dll 驅動程序不適用於任何 MS 產品。
有些事情要嘗試,沒有特別的順序:
file(1)
可能能夠辨識文件- 任何奇怪的、未安裝的磁碟分區都可能是原始設備
- 在
/etc/init.d
(或用於啟動服務的任何系統)中翻找,數據庫可能是從那里以某種方式啟動的。strings(1)
應用於執行檔通常有助於辨識標註、版本字元串等- 如果許可證過期,您可以嘗試將日期重新設置…
- 也許在Google上搜尋軟體包的供應商會給他們最喜歡的數據庫一些提示
- 只需將整個磁碟複製到其他地方,然後在功能更強大的機器上進行分析
- 很久以前我就使用過 SCO 系統,那是一種皇家的痛苦。但是當時它有一個基本的包管理系統,並且使用它安裝了第三方包。也許你可以說服它告訴你安裝了什麼。