用dbexpress控件中的sqlconnection连接interbase数据库的动态连接参数设置

zhangpuqing 2008-02-22 08:13:27
用dbexpress控件中的sqlconnection连接interbase数据库的动态连接参数设置
目前遇着很奇怪的问题,设置如下
inif.Create(getcurrentdir+'\config.ini');
sqlconnection1.Connected:=false;
sqlconnection1.Params.Clear;

try
sqlconnection1.Params.Append('drivername='+inif.ReadString('zblsjxc','drivername',''));
sqlconnection1.Params.append('driverunit='+inif.readstring('zblsjxc','driverunit',''));
sqlconnection1.Params.append('DriverPackageLoader='+inif.readstring('zblsjxc','DriverPackageLoader',''));
sqlconnection1.Params.append('DriverAssemblyLoader='+inif.readstring('zblsjxc','DriverAssemblyLoader',''));
sqlconnection1.Params.append('MetaDataPackageLoader='+inif.readstring('zblsjxc','MetaDataPackageLoader',''));
sqlconnection1.Params.append('MetaDataAssemblyLoader='+inif.readstring('zblsjxc','MetaDataAssemblyLoader',''));
sqlconnection1.Params.append('BlobSize='+inif.readstring('zblsjxc','BlobSize',''));
sqlconnection1.Params.append('CommitRetain='+inif.readstring('zblsjxc','CommitRetain',''));
sqlconnection1.Params.append('Database='+inif.ReadString('database','databaseservername','')+':'+inif.ReadString('database','databasename',''));
sqlconnection1.Params.append('ErrorResourceFile='+inif.ReadString('zblsjxc','ErrorResourceFile',''));
sqlconnection1.Params.append('LocaleCode='+inif.ReadString('zblsjxc','LocaleCode',''));
sqlconnection1.Params.append('Password='+inif.ReadString('zblsjxc','Password',''));
sqlconnection1.Params.append('RoleName='+inif.ReadString('zblsjxc','RoleName',''));
sqlconnection1.Params.append('ServerCharSet='+inif.ReadString('zblsjxc','ServerCharSet',''));
sqlconnection1.Params.append('SQLDialect='+inif.ReadString('zblsjxc','SQLDialect',''));
sqlconnection1.Params.append('Interbase TransIsolation='+inif.ReadString('zblsjxc','Interbase TransIsolation',''));
sqlconnection1.Params.append('User_Name='+inif.ReadString('zblsjxc','User_Name',''));
sqlconnection1.Params.append('WaitOnLocks='+inif.ReadString('zblsjxc','WaitOnLocks',''));
sqlconnection1.Params.append('Trim Char='+inif.ReadString('zblsjxc','Trim Char',''));
finally
inif.Free;
end;
编译后运行,在进入界面时会报错,但进入界面后,能够查询到数据库里的资料.WHY!!!!
...全文
241 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chmily8888 2008-03-05
  • 打赏
  • 举报
回复
参数是写在配置文件下当然要打包了
zhangpuqing 2008-03-04
  • 打赏
  • 举报
回复
报错的原因找到了是因为没有指定CONNECTIONNAME的原因.
然后我想问一下在参数里有Con.Params.Add('DriverName=MySql');这句话,那么如果我程序在发布的时,是不是需要把dbxdrivers.ini这个文件也跟着打包呢.
chmily8888 2008-02-29
  • 打赏
  • 举报
回复
function CreateCon(HostName,DataBase,UserName,PassWord:String):TSQLConnection;
var
Con:TSQLConnection;
begin
Con := TSQLConnection.Create(nil);
Con.Params.Clear;
Con.Params.Add('DriverName=MySql');
Con.Params.Add('HostName='+HostName);
Con.Params.Add('DataBase='+DataBase);
Con.Params.Add('User_Name='+UserName);
Con.Params.Add('Password='+PassWord);

Con.ConnectionName := 'MySQLConnection';
Con.DriverName := 'MySQL';
Con.GetDriverFunc := 'getSQLDriverMYSQL';
Con.LibraryName := 'dbxmys30.dll';
Con.VendorLib := 'libmysql.dll';
Con.LoginPrompt := false;

Result := Con;
end;
zhangpuqing 2008-02-26
  • 打赏
  • 举报
回复
楼上的好像不行呀,那样的话也有提示报错的.
ydlchina 2008-02-23
  • 打赏
  • 举报
回复
干嘛要那么麻烦
SQLConnection.Connected:=False;
SQLConnection.ConnectionName:='SQLServer';
SQLConnection.DriverName:='SQLServer';
SQLConnection.Params.Values['Database']:=dbname;
SQLConnection.Params.Values['HostName']:=computer;
SQLConnection.Params.Values['User_Name']:='sa';
SQLConnection.Params.Values['Password']:='';
SQLConnection.Connected:=True;

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧