我创建的 Web 服务有问题。在我的 PC 上的 localhost 上运行时运行良好。问题是,当我将 Web 服务部署到远程 IIS 服务器时,我不断收到“数据提供程序内部错误(-3000)”。它总是出现在代码的 OracleConnection.Open 部分。我认为这可能是因为我们在服务器上有两个不同的“Oracle Home”,所以我尝试使用 web.config 设置特定的 home。无论我选择哪一个,我仍然得到错误。
有人对我能做些什么来解决这个问题有任何建议吗?
谢谢,罗伯
我创建的 Web 服务有问题。在我的 PC 上的 localhost 上运行时运行良好。问题是,当我将 Web 服务部署到远程 IIS 服务器时,我不断收到“数据提供程序内部错误(-3000)”。它总是出现在代码的 OracleConnection.Open 部分。我认为这可能是因为我们在服务器上有两个不同的“Oracle Home”,所以我尝试使用 web.config 设置特定的 home。无论我选择哪一个,我仍然得到错误。
有人对我能做些什么来解决这个问题有任何建议吗?
谢谢,罗伯
只是为了帮助未来绝望......在我的情况下,问题是开发服务器(分析电脑)和生产服务器的ODP版本不同。由于我无法在服务器上更改版本,我不得不强制应用程序使用配置文件中定义的特定版本。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342" culture="neutral"/>
<bindingRedirect oldVersion="9.2.0.700" newVersion="9.2.0.700"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342" culture="neutral"/>
<bindingRedirect oldVersion="2.112.3.0" newVersion="9.2.0.700"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
我和你有同样的问题。我解决它的方法是我将引用更改为不同的Oracle.DataAccess
引用。我使用的是 Oracle 客户端 11.2 的版本,我将其更改为 12.2;解决了这个问题。