我正在尝试学习并弄清楚是否可以将MVC,EF,ODAC11.2.0.3应用程序部署到安装了以前版本的ODP.NET的服务器上。我想我可以使用Oracle Instant Client,而不是更新服务器ODP.NET (我不能这样做)。
这可行吗?
1)我将这些dll添加到我的项目中以支持即时客户端
-Oracle.DataAccess.dll
-oci.dll
-ociw32.dll
-orannzsbb11.dll
-oraociei11.dll
-OraOps11w.dll
2)接下来,我更新了dbProviderFactories的web.config
<system.data>
<DbProviderFactories>
<add name="Oracle Data Provider for .NET"
invariant="Oracle.DataAccess.Client"
description="Oracle Data Provider for .NET"
type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>3)这(afaik)是如何使用Oracle动态链接库而不是GAC
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" />
<publisherPolicy apply="no" />
</dependentAssembly>
</assemblyBinding>
</runtime>4)最后是我的connectionString
<connectionStrings>
<add name="Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=Oracle.DataAccess.Client;
provider connection string="DATA SOURCE=XXX;PASSWORD=XXX;PERSIST SECURITY INFO=True;USER ID=XXX"" providerName="System.Data.EntityClient" />
</connectionStrings>这是我收到的错误消息,无法找到请求的.Net框架数据提供程序。它可能未安装。
我真的很感谢大家的帮助。我是个新手,有很多东西要学。提前谢谢。干杯
发布于 2012-04-03 01:58:15
在web配置的<DbProviderFactories>元素中添加Oracle部分,以删除任何现有的<remove … />提供程序。(在<add>之前)
<remove invariant ="Oracle.DataAccess.Client" />
https://stackoverflow.com/questions/9911948
复制相似问题