尝试在Delphi中创建Firebird数据库时,EIBInterBaseError'不可用数据库'

时间:2012-03-16 13:10:36

标签: delphi firebird dbexpress interbase

我正在尝试在运行时创建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)

有人对此有任何线索吗?也许某种方法可以正确地调试它?

提前致谢。

修改

这似乎是我的项目文件中的内容。我已经设法生成一个新的问题,但问题已经消失了,但我害怕将来被这个问题所困扰。有什么可能导致这种情况?

1 个答案:

答案 0 :(得分:4)

这不是我的项目文件。这是一个旧的GDS32.dll,它被删除在与可执行文件相同的目录中。删除它解决了这个问题。希望这可以帮助有同样问题的人。