尝试使用IIS 8.5中托管的WCF服务时出现以下错误。 The underlying provider failed on Open.
我正在使用Oracle DB 11G
。
在我的开发环境中,我可以毫无问题地连接到Oracle DB
。如果我只是在Visual Studio中运行WCF服务并运行客户端应用程序。我也可以从Visual Studio
内连接到Oracle实例并使用该服务。
我不知道该往哪里看。最后,我关闭了开发服务器上的防火墙,看看是否有任何问题。我也能够成功地ping Oracle Server。
以下是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托管驱动程序时通过Nuget添加到应用程序的连接字符串,它与应用程序中的字符串相同。
更新:这是我尝试过的一系列事项:
我尝试过的事情:
仍然得到同样的错误:
答案 0 :(得分:1)
运行IIS的服务器需要安装Oracle客户端,并且测试系统中的TNSNames文件和每个其他文件都需要与您正在使用的Web服务器相匹配。
您应尽可能使用与每个系统相同的oracle客户端版本。