我意识到这个问题可能有点模糊,但我对这个问题有点困惑。
我想使用托管ODP.NET驱动程序(NuGet版本12.2.1100)连接到oracle db 11.2.0.3.0版本 - 我正在从本机驱动程序迁移旧版应用程序。
要连接的代码很简单:
var connectionString = "Data Source=MY_TNS_ALIAS;User ID=first.last;Password=mypassword";
using (OracleConnection cn = new OracleConnection(connectionString))
{
cn.Open();
}
但我收到一个例外:
Oracle.ManagedDataAccess.Client.OracleException Message=ORA-01017: invalid username/password; logon denied
我添加了TNS_ADMIN
环境变量,并与Procmon核对了tnsnames.ora
和sqlnet.ora
正在被阅读。
旧的本机驱动程序使用相同的代码(和不同的导入)完美地工作。另外,该代码适用于非Ldap用户(在dba_users
中输入的用户)
我尝试使用OracleConnectionStringBuilder
,但没有成功。
我还检查过,如果我只在NAMES.DIRECTORY_PATH中使用LDAP,则会在LDAP中查询TNS别名并读取ldap.ora
- 但这不是我的目标。
我的问题
TraceLevel
,TraceOption
,TraceFileLocation
)任何帮助将不胜感激。
答案 0 :(得分:0)
选中此Configuring Oracle Data Provider for .NET
仅支持NTS身份验证。没有RADIUS也没有Kerberos5身份验证。
因此,这取决于您使用的方法:Authentication by the Network
使用SSL进行身份验证
使用第三方服务进行身份验证
Kerberos身份验证
基于PKI的身份验证
使用RADIUS进行身份验证
基于目录的服务