在delphi中使用ADOConnection动态地进行oracle数据库连接

时间:2011-09-14 11:47:13

标签: delphi

我正在使用delphi 7和oracle。我想使用TADOConnection通过delphi动态连接oracle。我创建了一个包含3个编辑框的表单,用于服务器名称,用户名,密码和一个按钮“连接”。我尝试通过构建ConnectionString静态连接。现在我尝试连接“连接”按钮单击,具体取决于用户在服务器,用户名和密码中输入值。 我怎样才能做到这一点。有什么建议。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

假设您已经安装了oracle客户端(Oracle Provide for OLEDB),有一个工作的tnsnames等等。因此,例如,连接到实例“ORCL”登录用户“HR”,密码为“password”,连接字符串应该是:

  

Provider = OraOLEDB.Oracle.1; Data Source = ORCL; User   ID = HR;密码=密码

从组件中取出字符串,它看起来像:

Procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOConnection1.ConnectionString:= 'Provider=OraOLEDB.Oracle.1;' +
    'Data Source=' + Edit1.Text + ';' + 
    'Data Source=' + Edit2.Text + ';' + 
    'Password=' + Edit3.Text;
  ADOConnection1.LoginPrompt:= False;
  ADOConnection1.Connected:= True;
end;

答案 1 :(得分:0)

您必须更改ConnectionString组件的TAdoConnection属性,您可以从ConnectionStrings网站

获取正确的属性

以下是与Microsoft提供商进行ADO连接的方法:

Provider =msdaora; Data Source =MyOracleDB; User Id =myUsername; Password =myPassword;

用户名ID&密码,您必须用您的编辑框替换它们。

<强>更新

代码你写的是这样的:

AdoConnection.Close;
AdoConnection.ConnectionString := format('Provider=msdaora; Data Source =MyOracleDB; User Id = %s; Password = %s',edtUserName.Text,edtPassword.Text]);
';
AdoConnection.Open;