繁体   English   中英

如何使Oracle ODP与ASP.NET MVC一起使用?

[英]How can I get Oracle ODP to work with ASP.NET MVC?

我已经尝试了几个小时,尝试使Oracle 11g ODP驱动程序与带有.NET Framework 4.0的ASP.NET MVC 3一起使用。 解决方案中的所有项目均设置为AnyCPU和.NET Framework 4.0。 我有一组NUNIT集成测试,可以使用该驱动程序,并且运行良好。 但是,我无法使我的MVC Web项目与ODP驱动程序一起使用。

当我尝试运行Web项目并调用TestConnection时,在64位计算机上的Visual Studio 2010开发环境中收到此错误:

无法加载文件或程序集“ Oracle.DataAccess”或其依赖项之一。 试图加载格式错误的程序。

我在64位开发服务器上收到此错误:

找不到请求的.Net Framework数据提供程序。 它可能没有安装。

这是我在网络配置中的连接字符串:

<add name ="POMSNETDatabase" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myHost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=myService)));User Id=xxxx;Password=yyyy;" />

这是我要连接的代码:

public class Repository
{
    public void TestConnection()
    {
        OracleConnection myConnection = new OracleConnection(ConfigurationManager.ConnectionStrings["POMSNETDatabase"].ToString());
        myConnection.Open();
    }
}

我已经验证我的bin目录中同时包含Oracle.DataAccess.dll和OraOps11w.dll。

使它工作的一些可能性:

  1. 检查引用是否将Oracle.DataAccess标记为“本地复制”。
  2. 以32位编译您的主应用程序。 (网络项目)。
  3. 在IIS上,配置以32位执行的应用程序池。
  4. 在IIS上,配置应用程序池以使用Local System执行。

我在Odp提供程序上遇到了一些问题,它对我来说不是在64位服务器上执行的,我必须在应用程序池上使用32位来应用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM