当我尝试从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 中的服务器资源管理器添加新的数据连接。
我试着设置SystemCurrentControlSetControlLsaFIPSAlgorithmPolicyEnabled to
0
但没有运气。
当我使用 SQL Developer 时,我能够使用相同的凭据连接到同一个数据库并执行任何查询。 知道吗?
数据库:甲骨文 9i
视觉工作室 : 2017
我找到了答案。
- 删除Visual Studio中的任何关联插件
- 从 ODAC 下载的文件夹中执行卸载.bat
- 删除 Windows 中添加或删除程序中的任何关联工具
- 删除剩余的 Oracle 文件夹(在 C:\、C:\ProgramFiles 等中(
确保 GAC 中没有剩余的 Oracle 引用,否则将其删除。
Oracle提供程序的最新兼容版本是 Oracle 版本 + 2 (9+2=11(,这意味着我必须安装的最高版本是 11.2.0.4。安装此版本并在 x64 中编译我的代码后(任何 CPU 或 x32 都不会加载 DLL(,evrything 可以正常工作。