Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.TypeInitializationException:';Oracle.DataAccess.Client.OracleConnection';抛出异常_C#_Asp.net_Oracle_Winforms_Entity Framework - Fatal编程技术网

C# System.TypeInitializationException:';Oracle.DataAccess.Client.OracleConnection';抛出异常

C# System.TypeInitializationException:';Oracle.DataAccess.Client.OracleConnection';抛出异常,c#,asp.net,oracle,winforms,entity-framework,C#,Asp.net,Oracle,Winforms,Entity Framework,我正在asp.net中开发Windows应用程序,使用C#和Oracle作为数据库。在这里,最初应用程序的一些模块是使用实体框架创建的,因此我尝试替换实体框架代码,以简单地调用存储过程 所以我认为应用程序在服务器上运行良好,但当应用程序在客户机上运行时,它会给出以下错误 需要检查的东西很少,可能是其中一种: 请为ODP.net尝试NuGet软件包。你可以在这里找到它们: https://www.nuget.org/packages/odp.net.managed/ 我同意@Husqvik,请检

我正在asp.net中开发Windows应用程序,使用C#和Oracle作为数据库。在这里,最初应用程序的一些模块是使用实体框架创建的,因此我尝试替换实体框架代码,以简单地调用存储过程

所以我认为应用程序在服务器上运行良好,但当应用程序在客户机上运行时,它会给出以下错误


需要检查的东西很少,可能是其中一种:

  • 请为
    ODP.net
    尝试NuGet软件包。你可以在这里找到它们:
    https://www.nuget.org/packages/odp.net.managed/
  • 我同意@Husqvik,请检查系统是否正在尝试加载64 位Oracle DLL,但无法执行,因为应用程序正在32中运行 位模式。尝试将应用程序显式设置为64位。 或者,安装32位ODP.Net驱动程序,看看这些驱动程序 再好不过了

希望这有帮助,请回答任何方式。谢谢

没有什么需要检查的,可能是其中一个有用的方法:

  • 请为
    ODP.net
    尝试NuGet软件包。你可以在这里找到它们:
    https://www.nuget.org/packages/odp.net.managed/
  • 我同意@Husqvik,请检查系统是否正在尝试加载64 位Oracle DLL,但无法执行,因为应用程序正在32中运行 位模式。尝试将应用程序显式设置为64位。 或者,安装32位ODP.Net驱动程序,看看这些驱动程序 再好不过了

希望这有帮助,请回答任何方式。如果没有别的办法,谢谢你。试试这个:

Project > properties > complie > check prefer 32 bit

这为我解决了这个问题。

如果没有其他办法的话。试试这个:

Project > properties > complie > check prefer 32 bit
这为我解决了这个问题。

  • 卸载Oracle.DataAccess
  • 卸载Oracle.ManagedDataAccess
  • 卸载Oracle.ManagedDataAccess.EntityFramework
  • 重新安装所有这些
这对我很有效。

  • 卸载Oracle.DataAccess
  • 卸载Oracle.ManagedDataAccess
  • 卸载Oracle.ManagedDataAccess.EntityFramework
  • 重新安装所有这些
这对我来说很有效。

C#导致异常的指令

var connection = new OracleConnection(); // from Oracle.ManagedDataAccess.Client

设置
2个项目

  • 启动(app.config)
  • 包括Oracle(app.config)
  • Oracle连接参数(如端口、SID、连接名称、用户/密码和主机名)从“app.config”中提取。启动项目有自己的“app.config”

    问题
    未提取“app.config”中的Oracle连接字符串。没有连接字符串。就好像app.config不存在一样

    根本原因
    已删除启动项目的App.config中的“sectionGroup”元素!据我所知,如果没有这个元素,app.config中相应的“sectionGroup”会被忽略,其中Oracle也会被忽略,这也会忽略连接字符串

    如何或谁删除了“sectionGroup”元素?
    我删除了启动项目属性中的一个用户设置。由于只有一个,Visual Studio将删除app.config中的整个“userSettings”元素。没关系,没问题。但是,VisualStudio也删除了“sectionGroup”元素

    解决方案
    写回“sectionGroup”元素。

    C#导致异常的指令

    var connection = new OracleConnection(); // from Oracle.ManagedDataAccess.Client
    

    设置
    2个项目

  • 启动(app.config)
  • 包括Oracle(app.config)
  • Oracle连接参数(如端口、SID、连接名称、用户/密码和主机名)从“app.config”中提取。启动项目有自己的“app.config”

    问题
    未提取“app.config”中的Oracle连接字符串。没有连接字符串。就好像app.config不存在一样

    根本原因
    已删除启动项目的App.config中的“sectionGroup”元素!据我所知,如果没有这个元素,app.config中相应的“sectionGroup”会被忽略,其中Oracle也会被忽略,这也会忽略连接字符串

    如何或谁删除了“sectionGroup”元素?
    我删除了启动项目属性中的一个用户设置。由于只有一个,Visual Studio将删除app.config中的整个“userSettings”元素。没关系,没问题。但是,VisualStudio也删除了“sectionGroup”元素

    解决方案

    写回'sectionGroup'元素。

    我想您已经在谷歌上搜索了错误消息。到目前为止有什么发现吗?前两个热门问题已经是标题相同的stackoverflow问题。@TimSchmelter是的,我搜索了一下,刚刚发现需要添加3 ODAC的dll,我已经添加了,但到目前为止运气不好。您正在将32位组件加载到64位应用程序中,反之亦然。@Husqvik我需要检查一下。我想您已经在谷歌上搜索了错误消息。到目前为止有什么发现吗?前两个问题已经是标题相同的stackoverflow问题。@TimSchmelter是的,我搜索后发现需要添加3 ODAC的dll,我这样做了,但到目前为止运气不佳。您正在将32位汇编加载到64位应用程序中,反之亦然。@Husqvik我需要检查此问题。我尝试将应用程序平台更改为64位并运行应用程序,但没有运气,或者安装了32位ODAC,应用程序平台为32位,但仍有错误,不会更改,也不会修复。我尝试将应用程序平台更改为64位,并运行应用程序,但没有运气,或者安装了32位ODAC,应用程序平台为32位,但仍然没有错误改变也不固定。