我正在尝试在运行时创建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)
有人对此有任何线索吗?也许某种方法可以正确地调试它?
提前致谢。
修改
这似乎是我的项目文件中的内容。我已经设法生成一个新的问题,但问题已经消失了,但我害怕将来被这个问题所困扰。有什么可能导致这种情况?
答案 0 :(得分:4)
这不是我的项目文件。这是一个旧的GDS32.dll,它被删除在与可执行文件相同的目录中。删除它解决了这个问题。希望这可以帮助有同样问题的人。