星期二, 10月 17, 2006

REALbasic 資料庫轉換心得

最近想將現有的 REALbasic 程式轉換到 REALbasic 2006,並且想編譯成 Intel 與 PowerPC 通用的 Universal Binary,不過在編譯時只要碰到 REALDatabase 就掛掉(可見 REALbasic 本身寫得也不好),所以只好全部轉換成 REALSQLDatabase。

在一筆一筆讀出舊資料庫並且也一筆一筆存入新資料庫時,發現整個過程下來,只需要執行一次 db.Commit 即可,不需每次 InserRecord 就做一次,否則會大大地浪費時間。另外也發現 REALbasic 在 db.Commit 之前,會把資料暫存在一個叫 filename.rsd-journal 的檔案裡,位置在資料庫檔案的同一檔案夾中,等 commit 時再把裡面的東西全部一次寫入資料庫。如果每加入一筆資料就 commit,這個檔就會反覆地被新增又被刪除,當然是不經濟的做法。

此外,REALSQLDatabase 檔案也小多了,原來 1.3MB 的 REALDatabase 轉換後只需要 800KB 左右。