在将WCF服务部署到IIS后,执行查询数据报错:找不到请求的 .Net Framework Data Provider。可能没有安装。然而,在用VS的IIS Express调试的时候却可以成功获取数据。

程序:EF+WCF

数据库:Oracle

而且我有安装ODP.NET,但安装的是32位版本的。在GAC中可以查询到有注册2.112.3.0的Oracle.DataAccess.dll.

在网上查询到可能是版本问题。我的电脑是64位,而安装的ODP.NET是32位。获取由于这个原因不能调用。

然后打开IIS,在应用程序池-高级设置中,看到一个选项“启用32位应用程序”,默认值是false。会不会是这原因。将其改成true后,再运行。OK.

 

还有一种原因,安装ODP.NET的时候,WIN7中没有用管理员方式运行安装程序。导致其无法将配置写入machine.config。卸载后,用管理员运行重装后,解决。