c# - Oracle 9i:ORA-01017:用户名/密码无效;登录被拒绝
问题描述
当我尝试从 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
视觉工作室:2017
解决方案
我找到了答案。
- 删除 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)后,一切都在工作。