环境是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到了输出目录还是这样,求高人指点

解决方案 »

  1.   

    dbxint.dll是dbexpress 1的驱动?
      

  2.   

    delphi2010 的dbexpress版本较新。 
      

  3.   

      VendorLib := 'fbembed.dll';
    改成:
      VendorLib := 'fbclient.dll';
    试试。
      

  4.   

    VendorLib := 'fbembed.dll';
    改成:
      VendorLib := 'fbclient.dll';
    试试。
    这个果然成功了,但是真奇怪,都是同一个文件,为啥非要指定这个名字呢另外LibraryName := 'dbxint.dll';似乎写什么都不重要,
    后来我改成LibraryName := 'dbxfb.dll';因为我发现这里不管写什么最后程序引用的都是dbxfb.dll