2012-04-04 41 views
1

我已經得到由Firebird 1.0創建的gdb文件(25GB另一個〜38 GB)。 在打開某些表時,它們顯示錯誤[運行Firebird Server 1.0(停止Interbase 7.5)] - >無效請求BLR,偏移量951 這是什麼意思?無效的請求BLR在偏移量951

另外我想將它轉換爲Interbase 7.5它有ODS版本。 10(通過gstat -h)。

任何想法??

+1

什麼是完整錯誤?通常有一個額外的行,包括無效的實際事物。 – 2012-04-04 12:36:46

+0

它已經消失了!我複製ib udf寫入dll到firebird文件夾,現在沒關係! – 2012-04-05 05:54:24

+0

那麼最有可能的附加錯誤是'功能<名稱的UDF功能>沒有定義模塊名稱或入口點無法找到' – 2012-04-05 18:08:31

回答

0

關於轉換爲Interbase - Firebird 1.0的ODS應該與當時的Interbase基本相同,因此您可以在FB下創建備份並將其重新安裝到IB 7.5下。如果不行,你必須在IB中創建新的空數據庫,然後使用Clever Component's Interbase DataPump或其他類似工具將數據從FB「泵送」到IB。鑑於數據庫的大小,這將是一個漫長的等待在任何一種方式...

抱歉,不知道有關的錯誤 - 它可能表明DB /某些表已損壞或只是你已經使用IB要更改DB的元數據,現在FB不理解這些更改(因爲IB7.5 BLR可能與FB1.0不兼容)。

5

首先嚐試檢查一個數據庫損壞,並可能縫補:

gfix -mend -full -ignore -user SYSDBA -pas masterkey database.gdb 

如果有報告,那麼你的備份恢復週期的錯誤:那麼

gbak -b -ig -g -user SYSDBA -pas masterkey server:database.gdb database.gbk 

gbak -c -user SYSDBA -pas masterkey database.gbk server:new.gdb 

如果恢復失敗你需要恢復索引被停用,並逐一激活它們:

gbak -c -i -n -o -user SYSDBA -pas masterkey database.gbk server:new.gdb 

我相信Firebird 1.0是一個增強的Interbase 6.0。所以,有可能使用IB 7.5恢復FB 1.0的備份。如果不是,那麼你總是有一個將數據庫轉儲到sql INSERT命令的解決方案。

+0

謝謝我會檢查出來! – 2012-04-05 06:06:29