実行時に Firebird データベースを作成しようとしています。これを行うために使用している手順は次のとおりです。
procedure CreateDatabase(DBName: String);
var
IBDatabase1: TIBDatabase;
begin
IBDatabase1 := TIBDatabase.Create(Self);
try
IBDatabase1.DatabaseName := ChangeFileExt(DBName, '.fdb');
IBDatabase1.Params.Add('USER ''SYSDBA''');
IBDatabase1.Params.Add('PASSWORD ''masterkey''');
IBDatabase1.Params.Add('PAGE_SIZE 4096');
IBDatabase1.Params.Add('DEFAULT CHARACTER SET WIN1252');
IBDatabase1.CreateDatabase;
finally
IBDatabase1.Free;
end;
end;
この機能をテストするために作成した小さなプロジェクトでは、問題なくこれを達成しました。ただし、このコードを同じマシン、同じ Delphi、同じすべてで実行しようとすると、別の (そして非常に大きな) プロジェクトであることを除いて、IBDatabase1.CreateDatabase 行で次のエラーが発生します。
First chance exception at $7579B9BC. Exception class EIBInterBaseError with message 'unavailable database'. Process xxx.exe (4144)
誰もこれについて何か手がかりを持っていますか? これを適切にデバッグする方法はありますか?
前もって感謝します。
編集
私のプロジェクトファイルに何かあるようです。なんとか新しいものを生成して問題はなくなりましたが、将来これに噛まれるのではないかと心配しています。何が原因でしょうか?