从IIS连接到Oracle数据库.错误:基础提供程序在打开时失败
本文关键字:程序 失败 连接 IIS Oracle 数据库 错误 | 更新日期: 2023-09-27 18:10:16
在尝试使用IIS 8.5中托管的WCF服务时,我得到以下错误。The underlying provider failed on Open.
我使用的是Oracle DB 11G
从我的开发环境,我能够连接到Oracle DB
没有问题。如果我只是在Visual Studio中运行WCF服务并运行客户端应用程序。我还可以从Visual Studio
中连接到Oracle实例并使用该服务。
我不知道去哪里找。最后,我关闭了开发服务器上的防火墙,看看是否有任何问题。我也能够Ping Oracle服务器与成功。
来自IIS的连接字符串:
metadata=res://*/OracleDB.csdl|res://*/OracleDB.ssdl|res://*/OracleDB.msl;provider=Oracle.ManagedDataAccess.Client;
provider connection string="DATA SOURCE=INSTANCE_TNSNAMES;PASSWORD=MyPassword;
PERSIST SECURITY INFO=True;USER ID=MyUserID"
这是在Visual Studio中安装Oracle Managed Drivers时通过Nuget添加到应用程序中的连接字符串,它在应用程序中是相同的字符串。
更新:这里是我尝试过的事情的列表:
我尝试过的事情:
- 在Windows Server上安装Oracle即时客户端 在环境变量中创建TNS_ADMIN变量
- 设置Oracle即时客户端路径
- 添加(安装)ODBC驱动程序到即时客户端文件夹
- 创建并配置tnsnames.ora
仍然得到相同的错误:
运行IIS的服务器需要安装Oracle客户端,并且测试系统中的TNSNames文件和其他文件需要与您正在使用的web服务器相匹配。
在可能的情况下,应该在每个系统中使用相同的oracle客户端版本。