首页 > 解决方案 > 在 OleDbConnection 中打开时出现异常

问题描述

当我尝试使用以下代码将 excel 打开到我的 Windows 服务之一时,它会在 objConn.Open() 上抛出“值不能为空。参数名称:源”;谁能帮帮我吗。

         OleDbConnection objConn = null;
        System.Data.DataTable dt = null;
        LogManager LogWrite = new LogManager(); 
        try
        {
            string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Repository\RuleExcel\Rules_Repository_2018-06-28_03-41-29-133.xlsx;Extended Properties='Excel 12.0;HDR=YES;';";
            LogWrite.WriteLog(conn);
            // Create connection object by using the preceding connection string.
            objConn = new OleDbConnection(conn);
            LogWrite.WriteLog(objConn.DataSource);
            // Open connection with the database.
            objConn.Open();

标签: c#excelwindows-servicesoledbconnection

解决方案


试试下面的代码,它对我有用:

using (OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + @";Extended Properties=""Excel 12.0;IMEX=1;HDR=YES;"""))
                {
                    objConn.Open();

}

推荐阅读