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

Posted

技术标签:

【中文标题】Oracle 9i:ORA-01017:用户名/密码无效;登录被拒绝【英文标题】:Oracle 9i: ORA-01017: invalid username/password; logon denied 【发布时间】:2018-11-02 15:38:18 【问题描述】:

当我尝试从我的 Visual Studio 2017 应用程序连接到我的 Oracle 9i 数据库时出现以下异常:

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

代码:

var connectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myServerName)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=mySID)));User Id = myUsername; Password = myPassword";
var con = new OracleConnection(connectionString);
con.Open();

同样的问题:

使用与System.Data.OracleClient 程序集相同的代码

尝试通过 Visual Studio 中的服务器资源管理器添加新的数据连接。

我尝试设置 System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled to 0 没有运气。

当我使用 SQL Developer 时,我能够使用相同的凭据连接到同一个数据库并执行任何查询。 有什么想法吗?

数据库:Oracle 9i

Visual Studio : 2017

【问题讨论】:

去掉参数名和参数值之间的空格。它可能会尝试发送“[space]myUsername”和“[space]myPassword” 我删除了空格,还是一样的错误信息 您正在使用 Oracle.DataAccess.Client?相同的基本设置对我有用 -- string connectionString = "Data Source=//myhost/myservice; User Id=scott; Password=tiger" 是的,我在我的项目中引用了 oracle.dataaccess.dll 检查是否发生了无意的大小写转换。在较新版本的 Oracle 中,密码区分大小写。 【参考方案1】:

我找到了答案。

删除 Visual Studio 中的所有关联插件 从您的 ODAC 下载文件夹中执行 uninstall.bat 删除 Windows 添加或删除程序中的任何关联工具 删除剩余的 Oracle 文件夹(在 C:\、C:\ProgramFiles、...中)

确保 GAC 中没有剩余的 Oracle 引用,否则将其删除。

Oracle 提供程序的最新兼容版本是 Oracle 版本 + 2 (9+2=11),这意味着我必须安装的最高版本是 11.2.0.4。安装此版本并在 x64 中编译我的代码(任何 CPU 或 x32 都不会加载 DLL)后,一切正常。

【讨论】:

以上是关于Oracle 9i:ORA-01017:用户名/密码无效;登录被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

ORA-01017 从 9i 客户端连接到 11g 数据库时用户名/密码无效

Oracle 11g r2 ORA-01017:用户名/密码无效;通过 JDBC 驱动程序连接时登录被拒绝

oracle 数据库 显示新建数据库连接失败 错误原因ora-01017:用户名 口令无效 登陆被拒绝

Oracle JDBC:用户名/密码无效 (ora-01017)

Oracle.ManagedDataAccess 和 ORA-01017:用户名/密码无效;登录被拒绝

Sqldeveloper 无法连接 Oracle 数据库(ORA-01017,用户名/密码无效;登录被拒绝)