网上有几个文章说到连接FB数据库的,基本都是一个出处,不过我尝试之后发现都不行,仔细看过后才发现。原来有一个地方少了个字母(下面代码红色那行)。下面是我自己写的,在D7+FB3+uniDac7.01中通过。
代码:
with UniConn_Do do
begin
ProviderName := 'interbase';//这里确定为interbase 但是可以支持firebird
Password := 'masterkey';//数据库密码
Username := 'sysdba';//数据库密码
Server := '';
Database := dbPath;//数据库文件的位置,这里在当前目录
SpecificOptions.Clear;
SpecificOptions.Add('InterBase.ClientLibrary='+exePath+'FBGreen\gds32.dll');//设置绿色版FB驱动位置
//SpecificOptions.Add('InterBase.Charset=GB_2312');
SpecificOptions.Add('InterBase.CharLength=0');//设置为0让,unidac自动读取fb设置
SpecificOptions.Add('SQLDialect=3');//这一行就是有问题的地方,网上的都少了倒数第二个字母“c”
SpecificOptions.Add('USEUnicode=true');//迟滞unicode 有人说有问题我没有发现
try
Connect;
except
on e: Exception do
begin
ShowMessage('连接数据库失败'+#13+e.Message);
end;
end;
end;
参考资料: