2012-04-04 7 views
1

Firebird 1.0で作成されたgdbファイル(25GB〜38GB)があります。彼らは、エラーを表示し、テーブルの一部[Firebirdのサーバー1.0を実行している(Interbaseの7.5を停止)]開放中 - で>無効な要求BLRは951 それがどういう意味をオフセット?無効なリクエストBLR at offset 951

加えて、私はそれは版ODSを持ってInterbaseの7.5に変換したいと思います。 10(gstat -hを介して)。

あなたはFBの下にバックアップを作成し、IB 7.5の下でそれをrestaoreすることができるかもしれないので、Firebirdの1.0 ODSは、その時のInterbaseのと基本的に同じである必要があります - Interbaseのへの変換について

+1

完全なエラーは何ですか?通常、無効な実際のものを含む追加の行があります。 –

+0

それは消えました!私はib udfを書いたdllをfirebirdフォルダにコピーしました。これでOKです! –

+0

次に、追加のエラーが 'function が定義されていません。モジュール名またはエントリポイントが見つかりませんでした。 ' –

答えて

0

。それでも問題が解決しない場合は、IBで新しい空のデータベースを作成してから、Clever Component's Interbase DataPumpまたは他の同様のツールを使用してFBからIBにデータを「ポンプ送り」する必要があります。 DBのサイズを考えると、どちらの方法でも長い待ち時間になるでしょう...

申し訳ありませんが、エラーについては考えていません - それはDB /いくつかのテーブルが壊れているか、単にIBを使用していることを示している可能性がありますDBのメタデータを変更すると、FBはこれらの変更を理解しません(IB7.5 BLRはおそらくFB1.0と互換性がないため)。

5

まず第一には、破損のためにデータベースをチェックし、おそらくそれを修理しよう:復元は、あなたが失敗した場合

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

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

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

その後、報告されたエラーがある場合は、サイクルをバックアップは、復元しませんインデックスを無効にしてリストアを行い、後でそれらをアクティブにする必要があります。

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

Firebird 1.0は、強化されたInterbase 6.0だと私は信じています。したがって、FB 1.0のバックアップがIB 7.5を使用して復元される可能性があります。そうでなければ、SQL INSERTコマンドにデータベースをダンプするという解決方法が常にあります。

+0

ありがとう、私はそれをチェックアウトします! –

関連する問題