连接到火鸟嵌入D2010
-
21-09-2019 - |
题
我下载火鸟DBX驾驶员 http://sites.google.com/site/dbxfirebird / 和我已经能够编制了“测试连接”项目,并让它运行。我就指着我的测试数据库,像这样:
procedure TMainForm.Button1Click(Sender: TObject);
var C: TSQLConnection;
begin
C := TSQLConnection.Create(Self);
try
C.DriverName := 'FirebirdConnection';
C.Params.Add('User_Name=SYSDBA');
C.Params.Add('Password=masterkey');
C.Params.Add('Database=C:\fbtest\test.fdb');
C.Open;
if C.Connected then
ShowMessage('Connection is active')
finally
C.Free;
end;
end;
当我运行它,它工作正常。但是,当我把完全相同的代码在不同的项目,这是行不通的。我复制了fbclient.dll(火鸟嵌入式驱动程序的DLL,更名为fbclient),其所有相关的,和dbxdrivers.ini文件,以作为该项目的EXE在运行相同的文件夹中。我看不出有任何理由这不应该工作,但在调用。开失败:
项目PROJECT1.EXE引发的异常 类TDBXError与消息“未知 驱动程序:FirebirdConnection”
再次,这是在呼叫打开。分配到的DriverName工作得很好。有没有人见过这个问题吗?为什么完全相同的代码工作的测试项目,但不是一个不同的,并且是有什么办法可以解决这个问题?
解决方案
我发现这个问题。的加载类来建立数据库司机不得不在初始化DBXDynalink.pas的部分进行注册。测试项目包括DBXDynalink在其使用子句,其中矿井没有。我把在和现在的作品。
其他提示
此错误时,你不相应DBX驱动单元添加到您的应用列表时发生。尝试添加DBXFirebird到您的用途清单。
只是改变 C.DriverName:= 'FirebirdConnection'; 至 C.DriverName:= '火鸟';
和将工作!
不隶属于 StackOverflow