我正在尝试在运行时创建一个 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)
有人对这个有任何线索吗?也许某种方式可以正确调试?
提前致谢。
编辑
它似乎在我的项目文件中。我已经设法生成了一个新的并且问题消失了,但是我担心将来会被此咬伤。什么可能导致这种情况?