2006/1/27

令人苦惱的Paradox(首部曲)

因為某些原因,我開始接觸Paradox,這個存活在Delphi系統上的Database,我的任務是,要讓舊有存放在Paradox DB裡面的資料,可以提供Web介面查詢。根據技術的背景Java,我必須要先想辦法讓Java可以存取Paradox DB。

首先想的,就是拿到 Paradox JDBC driver,當我在google "paradox jdbc" 時,再怎麼逛街,都會逛到這個網址 http://bdn.borland.com/article/0,1410,21642,00.html 標題就是 "Corel's Paradox JDBC Driver",很令人興奮,想想不過就是另一個JDBC driver而已,只要再把JDBC URL設定正確就可以了。結果並不是這樣,文章裡面提到的pdxJDBC,還有PdxJdbc.jar,結果根本找不到這個東西,直接 google "PdxJdbc.jar"的話就更神奇了,有 "need jdbc driver for paradox"的文章,但是根本搜尋不到可提供下載的地方。

更慘的是,我後來才知道,這個Paradox資料裡面,存放了很多 BLOB 格式的資料,裡面都是以 Rich Text 的方式編輯過的文字,我必須要在Web上重現這些上下標的效果,那好吧,就開始找工具,如果有個工具可以幫我把paradox db轉成其他熟悉的資料庫,就方便多了,不過這個工具得要能幫我把BLOB資料轉出來。找工具得透過各種不同的管道,合法非法的都試,因為有data export功能的軟體,不一定能處理BLOB欄位。如果能把資料export成csv檔,那麼就可以再寫java程式,轉換Rich Text資料內容,並將資料寫入到比較好用的database裡面。

所以,我就試了
1. Paradox Viewer:這個只能檢視paradox db內容
2. SMExport Suite:這個好像是Delphi程式,但是我看不懂,也沒寫過Delphi
3. sqlbrowser-dbase-paradox-odbc:這個只有viewer的功能
4. Database Tour:可以編輯BLOB資料內容,但是export data (csv)時,BLOB欄位只寫了 BLOB 字樣
5. Database Workshop5:export成xls或csv時,根本不理會BLOB欄位
6. Exportizer:export成xls或csv時,BLOB欄位只寫了 BLOB 字樣
7. PDoxTool:export成xls或csv時,根本不理會BLOB欄位
8. DTM Migration Kit:這個把Rich Text的BLOB當成Long Varchar,所以export時,這種欄位都變成了

{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fnil MS Sans Serif;}........

m. 至少現在有初步的解決方案了,不過這個軟體必須要花錢買,140元美金應該不算貴吧。

接下來就慢慢等看看,這個案子要不要繼續做下去囉,有這個機會的話,就會有二部曲。