使用具有空代理密码的ODP.NET连接到Oracle数据库

时间:2018-08-07 07:20:30

标签: c# oracle oracle12c odp.net

我正在使用Oracle SQL Developer使用例如以下凭据连接到某些数据库(请注意,代理密码为空):

Username: abcdefg
Password: 123123
Hostname: 11.22.33.44
Port:     1234
Service name: very.cool.com
Proxy type: User Name
Proxy Client: cool_name
Proxy Password: <-- yes, empty password

工作正常。现在,我正在使用C#开发Windows Forms App,该应用程序使用ODP.NET连接到Oracle DB。

问题在于,当我使用以下连接字符串时:

connectionStringBuilder.DataSource = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=11.22.33.44)(PORT=1234))(CONNECT_DATA=(SERVICE_NAME=very.cool.com)))";
connectionStringBuilder.UserID = "abcdefg";
connectionStringBuilder.Password = "123123";
connectionStringBuilder.ProxyUserId = "cool_name";

在连接过程中出现以下错误:

  

ORA-01005:密码提供者为空;登录被拒绝

当我尝试时也是如此:

connectionStringBuilder.ProxyPassword = "";

使用(或其他占位符密码):

connectionStringBuilder.ProxyPassword = " "; // space instead of empty string

我遇到错误

  

ORA-01017:无效的用户名/密码;登录被拒绝

但是,当我尝试连接到不使用代理凭据的其他Oracle DB时,该连接可以正常工作,并且我能够运行查询等,因此应该不会出现代码编写错误或库错误的问题。

有什么办法可以克服ProxyPassword问题?

  • Oracle DB版本:12c
  • .NET Framework 4.6

0 个答案:

没有答案
相关问题