【问题标题】:Can't make a connection to Oracle Database in c#无法在 C# 中连接到 Oracle 数据库
【发布时间】:2023-04-09 07:15:01
【问题描述】:

我正在编写一个需要从数据库中提取数据的控制台应用程序。 当我使用以下行创建连接对象时,它会引发 FileNotFoundException。

OracleConnection con = new OracleConnection();

我已经安装并包含了 Oracle 托管数据访问客户端,并且我尝试了多种方式重写定义,包括在定义中传递连接字符串,但它总是抛出相同的异常。

这是确切的信息:

System.TypeInitializationException H结果=0x80131534 Message=“OracleInternal.Common.ProviderConfig”的类型初始化程序引发了异常。 源=Oracle.ManagedDataAccess 堆栈跟踪: 在 Oracle.ManagedDataAccess.Client.OracleConnection..ctor(String connectionString) 在“目录”中的 SecurityAwareness.Program.Main(String[] args)

内部异常 1: FileNotFoundException:无法加载文件或程序集“System.Configuration.ConfigurationManager,版本=0.0.0.0,文化=中性,PublicKeyToken=cc7b13ffcd2ddd51”。系统找不到指定的文件。

【问题讨论】:

  • 您是通过 Nuget 安装的吗?如果没有,那就这样做——它将处理任何依赖关系;我怀疑你可能缺乏
  • 我确实是通过 nuget 安装的。我尝试使用最新版本,也尝试回滚到另一个以前的版本。
  • 能否提供更多代码(如果可以)?因为,我通过 NuGet 安装了包并完美安装。
  • @adsad 我怀疑不需要代码。缺少的 dll 是 System.Configuration.ConfigurationManager,一个标准的 .net 框架库。听起来更像是安装问题(框架或 Oracle 程序集)

标签: c# oracle


【解决方案1】:

您没有提及您使用的是哪个 .NET。我有同样的错误。我正在使用 WebApi2 构建一个应用程序,它使用 .NET Core 2.x 而不是 .NET 4.x。

我切换到 Oracle.ManagedDataAccess.Core (2.18) NuGet 包,然后错误消失了,我能够使用简单的 Oracle 连接代码连接到我的 Oracle 数据库。

【讨论】:

  • 这至少对我来说是个问题。正常的 Oracle.ManagedDataAccess 不适用于 .NET Core。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-03
  • 2020-02-12
相关资源
最近更新 更多