weixin_58183049 2024-08-29 18:01 采纳率: 92.9%
浏览 13
已结题

C#连接oracle数据库出错

在visual studio中使用OracleConnection连接到数据库


using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace datatext
{
    public class Program
    {
        static void Main()

        {

            string connectionString = "User Id=TNBOADA1;Password=TNBOADA1;Data Source=TNBOA19C";



            try

            {

                using (OracleConnection conn = new OracleConnection(connectionString))

                {

                    conn.Open();



                    Console.WriteLine("Connected to Oracle Database!");



                    



                    

                    string query = "SELECT * FROM base_hr_emp WHERE rownum <= 10";

                    OracleCommand cmd = new OracleCommand(query, conn);



                    OracleDataReader reader = cmd.ExecuteReader();



                    while (reader.Read())

                    {

                        

                        Console.WriteLine($"EMP_NO: {reader["EMP_NO"]}, NAME: {reader["NAME"]}");

                    }



                    reader.Close();

                }

            }

            catch (Exception ex)

            {

                Console.WriteLine($"An error occurred: {ex.Message}");

            }



            Console.WriteLine("Press any key to exit...");

            Console.ReadKey();

        }



    }
}

下面是出错的提示

System.TypeInitializationException: '“Oracle.ManagedDataAccess.Client.OracleCommand”的类型初始值设定项引发异常。'
FileNotFoundException: 未能加载文件或程序集“System.Diagnostics.DiagnosticSource, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”或它的某一个依赖项。系统找不到指定的文件。

  • 写回答

1条回答 默认 最新

  • 隔窗听雨眠 2024-08-30 09:21
    关注

    【本回答来自‘C知道’】
    这个错误信息表明在尝试初始化Oracle.ManagedDataAccess.Client.OracleCommand类型的实例时遇到了问题,具体来说是一个System.TypeInitializationException。该异常的原因是由于试图加载名为"System.Diagnostics.DiagnosticSource, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"的文件或程序集时发生了FileNotFoundException,即找不到指定的文件。
    这通常意味着你的应用程序试图访问的某个库或者依赖包(DiagnosticSource.dll)没有正确安装或者路径设置有误。解决这个问题需要检查以下几个步骤:
    检查版本:确认你的项目引用了正确的DiagnosticSource版本,并且它与应用程序当前的.NET框架版本兼容。
    添加缺失的库:如果缺少该库,确保已经从NuGet或其他官方渠道下载并添加到项目的引用列表中。
    检查路径:确保NuGet下载的库文件位于项目构建过程中能找到的地方,或者配置好私有NuGet源的路径。
    清理并重建:清除解决方案的缓存和项目文件,然后重新构建以刷新所有依赖项。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 8月29日