环境是win7+fb2.12+delphi2010 使用dbexpress进行连接数据库server模式的时候一切正常,想改成嵌入式就死活不成功我的连接是这么写的
try
with dm1.SQLConn1 do
begin
Connected := False;
DriverName := 'Firebird';
ConnectionName := 'FBConnection';
GetDriverFunc := 'getSQLDriverINTERBASE';
KeepConnection := True;
LibraryName := 'dbxint.dll';
LoginPrompt := False;
VendorLib := 'fbembed.dll'; Params.Clear;
Params.values['user_name'] := 'SYSDBA';
Params.values['password'] := 'masterkey';
Params.values['ServerCharSet'] := 'gb_2312';
Params.values['SQLDialect'] := '3';
Params.values['database'] := ExtractFilePath(ParamStr(0)) +
'DATA\WD1.FDB'; //数据文件物理位置
Connected := True;
end;
except
showmessage('连接失败!');
end;
报错为'unavailable database'
fb嵌入版我已经完整copy到了输出目录还是这样,求高人指点
try
with dm1.SQLConn1 do
begin
Connected := False;
DriverName := 'Firebird';
ConnectionName := 'FBConnection';
GetDriverFunc := 'getSQLDriverINTERBASE';
KeepConnection := True;
LibraryName := 'dbxint.dll';
LoginPrompt := False;
VendorLib := 'fbembed.dll'; Params.Clear;
Params.values['user_name'] := 'SYSDBA';
Params.values['password'] := 'masterkey';
Params.values['ServerCharSet'] := 'gb_2312';
Params.values['SQLDialect'] := '3';
Params.values['database'] := ExtractFilePath(ParamStr(0)) +
'DATA\WD1.FDB'; //数据文件物理位置
Connected := True;
end;
except
showmessage('连接失败!');
end;
报错为'unavailable database'
fb嵌入版我已经完整copy到了输出目录还是这样,求高人指点
改成:
VendorLib := 'fbclient.dll';
试试。
改成:
VendorLib := 'fbclient.dll';
试试。
这个果然成功了,但是真奇怪,都是同一个文件,为啥非要指定这个名字呢另外LibraryName := 'dbxint.dll';似乎写什么都不重要,
后来我改成LibraryName := 'dbxfb.dll';因为我发现这里不管写什么最后程序引用的都是dbxfb.dll