使用Oracle Data Provider for .NET,我的应用程序使用特权SYS用户连接到数据库。连接字符串如下:以SYS用户身份登录到.NET中的Oracle 11g
Data Source=MyTnsName;User ID=sys;Password=MySysPassword;DBA Privilege=SYSDBA
这正常工作与甲骨文10,但甲骨文11一直抱怨无效的用户名或密码。我验证了密码是正确的 - 其他应用程序正常工作与相同的凭据。
请注意,对于普通用户(不包括DBA Privilege
部分),连接到Oracle 11可以很好地工作。
那么,怎么了?
更新:
这不区分大小写的问题 - 构建连接字符串时,密码的情况下是不会被我的代码修改,密码正常工作与其他非.NET-应用。我怀疑这可能是由我用来连接到11数据库的Oracle 10客户端引起的。 Oracle声明客户端向上兼容,唯一的缺点是你不能使用数据库的一些新功能。但是,
SYSDBA
连接显然不是新的Oracle 11功能,而且 - 非 - .NET应用程序(Keeptool Hora)可以使用相同的设置进行连接。还有其他想法吗?
更新2:
我做了一个试验:
使用Oracle 11客户端时:-(
更新3所述的问题仍然存在与另一个数据库安装版本11.2(第一次是11 .1) - 相同的结果。
此外,值得注意的是,用户
SYSTEM
(也使用DBA Privilege
部分),一切工作正常。但是,我有与SYS
一起使用。
该连接字符串适用于“Microsoft ODBC for Oracle”,我正在使用“Oracle Data Provider for .NET”。 – 2010-04-12 07:35:53