首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

()部署ASP.MVC3+EF4+Oracle 遇到的有关问题

2012-12-18 
(求助)部署ASP.MVC3+EF4+Oracle 遇到的问题我在本机IIS部署都没问题,但是放到服务器就出错, 提示“找不到请

(求助)部署ASP.MVC3+EF4+Oracle 遇到的问题
我在本机IIS部署都没问题,但是放到服务器就出错, 
提示“找不到请求的 .Net Framework Data Provider。可能没有安装。” 
我的服务器是windows2008标准版 32位, 数据库是oracle10g的 服务器上没有安装vs2012,其他环境都装, 我本机是vs2012 win8 64位,数据库是10g 项目用的是MVC3.0 + .NET framwork 4.0 本机 
oracle客户端安装的是ODTwithODAC1120320_32bit 都没问题,是不是也要在服务器安装一个 ODTwithODAC1120320_32bit ?但是我在服务器安装的时候报错,安装失败,提示“could not find the main class ” 难道是我必须要要在服务器上安装一个vs才行?服务器上安装了java环境和oracle10g
麻烦帮忙看下是什么问题,万分感谢!!! 



[最优解释]
你检查下C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config下面的 machine.config 中是不是有注册ODP:


<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=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>

[其他解释]
看起来是oracle没装好,可能是先装了oracle再装的.net。
你可以按照这篇文章用OUI重装一下ODP试试,再不行就把oracle全部重装一下了
http://docs.oracle.com/html/E15167_01/InstallODP.htm
[其他解释]
windows2008装Orcle最蛋疼了。我Orcle版本换了N个都没装好,有的没成功,有的没装完整。只能dos执行。em还打不开。NB多问题。最后在服务器上安装了一个虚拟机2003才OK。
[其他解释]
引用:
我在本机IIS部署都没问题,但是放到服务器就出错, 
提示“找不到请求的 .Net Framework Data Provider。可能没有安装。” 
我的服务器是windows2008标准版 32位, 数据库是oracle10g的 服务器上没有安装vs2012,其他环境都装, 我本机是vs2012 win8 64位,数据库是10g 项目用的是MVC3.0 + .NE……

现在是oracle安装好了,可以用oracle客户端连接,没问题,但是我用IIS连接就不行OADC连接就不行,根本安装不上OADC  烦请高手帮忙!!
[其他解释]
引用:
你检查下C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config下面的 machine.config 中是不是有注册ODP:
XML/HTML code?123456<system.data>    <DbProviderFactories>        <add name="Oracle Data Provider f……

按你的方法又提示  找不到或无法加载已注册的 .Net Framework Data Provider。 

[其他解释]
引用:
看起来是oracle没装好,可能是先装了oracle再装的.net。
你可以按照这篇文章用OUI重装一下ODP试试,再不行就把oracle全部重装一下了
http://docs.oracle.com/html/E15167_01/InstallODP.htm

你好,oracle现在可以用,用远程客户端工具都可以连接正常,我按你的方法,把本机的config文件复制到了服务器上,我的dll是4.0的
<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" />
  
 然后 把本机D:\app\bj\product\11.2.0\client_1\odp.net\bin\4安装目录下的“Oracle.DataAccess.dll”复制到了服务器网站的bin目录下,现在出现下面的错误是
“/”应用程序中的服务器错误。
--------------------------------------------

The provider is not compatible with the version of Oracle client 


说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client

源错误: 

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[OracleException (0x80004005): The provider is not compatible with the version of Oracle client]
   Oracle.DataAccess.Client.OracleInit.Initialize() +356
   Oracle.DataAccess.Client.OracleClientFactory..cctor() +50

[TypeInitializationException: “Oracle.DataAccess.Client.OracleClientFactory”的类型初始值设定项引发异常。]

[TargetInvocationException: 调用的目标发生了异常。]
   System.RuntimeFieldHandle.GetValue(RtFieldInfo field, Object instance, RuntimeType fieldType, RuntimeType declaringType, Boolean& domainInitialized) +0
   System.Reflection.RtFieldInfo.InternalGetValue(Object obj, Boolean doVisibilityCheck, Boolean doCheckConsistency) +180
   System.Reflection.RtFieldInfo.GetValue(Object obj) +8
   System.Data.Common.DbProviderFactories.GetFactory(DataRow providerRow) +232
   System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +88
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +35
   System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +263
   System.Data.EntityClient.EntityConnection..ctor(String connectionString) +81
   System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString) +42
   cswetLibrary.Models.Entities..ctor() +16
   WebUI.Controllers.HomeController..ctor() +27

 



[其他解释]
问题解决了,最后发现是我的客户端文件在传到服务器的时候丢掉了几个文件,重新上传了一次,安装完11g客户端就OK,结贴 发分了,谢谢  jshi123  ,挺郁闷的 一个小问题折腾我好几天。。。不过也了解好多排除问题的方法 

热点排行