WCF数据服务,EDMX实体数据模型,Oracle 11数据库,未部署到IIS

时间:2011-09-13 01:06:32

标签: oracle11g wcf-data-services

我正在实现一个实现以下方法的WCF数据服务: http://debugmode.net/2010/06/13/introduction-to-wcf-data-service-and-odata/

我安装了以下 beta ODAC组件: http://www.oracle.com/technetwork/topics/dotnet/downloads/oracleefbeta-302521.html

当我在Visual Studio 2010中运行解决方案时,它会完美地返回数据,当我将应用程序部署到IIS 7时,它会引发以下异常:

  

底层提供程序在Open上失败。

我检查了两者中的连接字符串,它们设置相同,我唯一能想到的,我认为这是一个无问题的是Oracle客户端组件安装TNSNAMES.ora和{{1在以下位置:

用户名

有2个
  • sqlnet.ora
  • C:\app\<username>\product\11.2.0\client_1\Network\Admin

还有一个用于oraclebase -

  • C:\app\<username>\product\11.2.0\client_2\Network\Admin

我已将工作文件复制到所有正确的位置,事实上,我可以通过SQL Plus完美连接

我的直觉告诉我,运行IIS的应用程序池/标识未加载正确的配置值,但是,我更改了应用程序池帐户以在-my-帐户下运行。

这是从ASP.NET应用程序中使用的连接字符串(如果它有帮助)

C:\app\oraclebase\product\11.2.0\client_1\Network\Admin

顺便说一句,我在同一台服务器上有另一个WCF数据服务,它指向一个SQL实例,并且只是漂亮地提取数据,该应用程序池上的身份存在问题,但是已经解决了。

任何人都知道它可能是什么?

注意:我也在代码中的实体上执行connection.open()和connection.close()。

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。问题是我的应用程序池未配置为启用32位应用程序。 ODAC组件是32位。

在一个关于某种方式的回合中,this post也很有帮助,以帮助理解配置Oracle连接的各个活动部分。