在TSQLConnection中,可以在IDE中设置DriverName,GetDriverFunc,LibraryName和VendorLib,还有ConnectionName,但是由于系统的需要,需要在程序中写代码动态的设置以上各属性值,我发现ConnectionName的设置同ADO的ConnectionString有点相同,关键是ConnectionName中对应有数据库名,用户名和密码这些关键的联接数据库的信息,应该怎样在程序中写代码来将数据库名,用户名和密码这些关键信息设置到组件TSQLConnection中,ConnectionName中对应的Key-Value是通过读取Delphi 7\Common Files\Borland Shared\DBExpress中的dbxconnections.ini来设置的,请高手给点建议。
解决方案 »
- 关于TIdUdpServer控件发送指定消息结构问题
- 关于 cout 函数
- delphi连接sqlserver数据库要密码??急!
- 这段代码我愣是看不出问题来,但执行为什么总报错?
- 有什么办法可以修改已经画好的图形?比如一条直线?
- delphi 7中真的没有TNMHttp控件吗?如果有请问如何添加呢?
- delphi里删除文本框控件提示introduced in an ancestor and cannot be deleted
- 数据库时间问题
- 我要让控件和窗体一起最大化怎么办?
- 如何更改声音播放的默认设备?
- 请问有谁知道qq所使用的客户端数据库?
- 菜鸟级--关于dbchart 2问,今晚在线并结贴!急!
procedure TForm1.FormCreate(Sender: TObject);
var
Str:TStrings;
con:TSQLConnection;
begin
try
str:=TstringList.Create;
str.Add('DriverName=Oracle');
str.Add('DataBase=adv');
str.add('User_Name=djw');
str.add('Password=djw');
str.add('RowsetSize=20');
str.add('BlobSize=-1');
str.add('ErrorResourceFile= ');
str.add('LocaleCode=0000');
str.add('Oracle TransIsolation=ReadCommited');
str.Add('OS Authentication=False');
str.Add('Multiple Transaction=False');
str.Add('Trim Char=False');
//ShowMessage(str.Text);
con:=TSQLConnection.Create(self); con.Params:=str;
con.ConnectionName:='OracleConnection';
con.DriverName:='Oracle';
con.GetDriverFunc:='getSQLDriverORACLE';
con.LibraryName:='dbexpora.dll';
con.VendorLib:='oci.dll';
con.LoginPrompt:=false;
con.Connected:=true;
ShowMessage('Success'); str.Free;
except
on E:Exception do
ShowMessage(E.Message);
end;
end;
提示'Missing DriverName property'错误。
str.Add('USER_NAME=user');
str.Add('NET PROTOCOL=TNS');
str.Add('OPEN MODE=READ/WRITE');
str.Add('SCHEMA CACHE SIZE=8');
str.Add('LANGDRIVER= ');
str.Add('SQLQRYMODE= ');
str.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
str.Add('SCHEMA CACHE TIME=-1');
str.Add('MAX ROWS=-1');
str.Add('BATCH COUNT=200');
str.Add('ENABLE SCHEMA CACHE=FALSE');
str.Add('SCHEMA CACHE DIR=');
str.Add('ENABLE BCD=FALSE');
str.Add('ENABLE INTEGERS=FALSE');
str.Add('LIST SYNONYMS=NONE');
str.Add('ROWSET SIZE=20');
str.Add('BLOBS TO CACHE=64');
str.Add('BLOB SIZE=32');
str.Add('OBJECT MODE=TRUE');
str.Add('PASSWORD=pass');