首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“System.IO.IOException”类型的未处理异常发生在mscorlib.dll目录名无效

“System.IO.IOException”类型的未处理异常发生在mscorlib.dll目录名无效
EN

Stack Overflow用户
提问于 2016-09-23 09:56:03
回答 1查看 1.4K关注 0票数 0

我正在尝试将CSV文件导入到SQL服务器数据库中。但是,当我选择该文件时,它会在var AllFiles = new DirectoryInfo(CSVpath).GetFiles() ;处中断,并发出错误消息:

“System.IO.IOException”类型的未处理异常发生在mscorlib.dll中,目录名无效。

(请注意“目录名无效”。已翻译自荷兰语"De mapnaam is ongeldig“)。

代码语言:javascript
复制
     string server = "LOCALHOST";
    string database = "klantbestand";
    string SQLServerConnectionString = String.Format("Data Source={0};Initial Catalog={1};Integrated Security=true", server, database);


    string CSVpath = txtfilePath.Text; // CSV file Path
    string CSVFileConnectionString = String.Format(CSVpath);

    var AllFiles = new DirectoryInfo(CSVpath).GetFiles() ;
    string File_Name = string.Empty;

    foreach (var file in AllFiles)
    {
        try
        {
            DataTable dt = new DataTable();
            using (OleDbConnection con = new OleDbConnection(CSVFileConnectionString))
            {
                con.Open();
                var csvQuery = string.Format("select * from [{0}]", file.Name);
                using (OleDbDataAdapter da = new OleDbDataAdapter(csvQuery, con))
                {
                    da.Fill(dt);
                }
            }

            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(SQLServerConnectionString))
            {
                bulkCopy.ColumnMappings.Add(0, "Clientnr");
                bulkCopy.ColumnMappings.Add(1, "contact");
                bulkCopy.ColumnMappings.Add(2, "company");
                bulkCopy.ColumnMappings.Add(3, "address");
                bulkCopy.ColumnMappings.Add(4, "zipcode");
                bulkCopy.ColumnMappings.Add(5, "phone");
                bulkCopy.ColumnMappings.Add(6, "mobile");
                bulkCopy.ColumnMappings.Add(7, "email");
                bulkCopy.ColumnMappings.Add(8, "taxnumber");
                bulkCopy.ColumnMappings.Add(9, "BIC");
                bulkCopy.ColumnMappings.Add(10, "Bank");
                bulkCopy.ColumnMappings.Add(11, "SendMethod");
                bulkCopy.ColumnMappings.Add(12, "Active");
                bulkCopy.ColumnMappings.Add(13, "Notes");
                bulkCopy.ColumnMappings.Add(14, "PaymentMethod");
                bulkCopy.ColumnMappings.Add(15, "Mandate");
                bulkCopy.ColumnMappings.Add(16, "MandatDate");
                bulkCopy.ColumnMappings.Add(17, "CollectionType");
                bulkCopy.ColumnMappings.Add(18, "Country");
                bulkCopy.ColumnMappings.Add(19, "EmailIntro");
                bulkCopy.ColumnMappings.Add(20, "PaymentPeriod");
                bulkCopy.ColumnMappings.Add(21, "Reference");

                bulkCopy.DestinationTableName = "GegevensCSV";
                bulkCopy.BatchSize = 0;
                bulkCopy.WriteToServer(dt);
                bulkCopy.Close();
            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
    }
}

private void btnbrowse_Click(object sender, EventArgs e)
{
    OpenFileDialog filedialog = new OpenFileDialog();
    filedialog.Title = "kies csv file";
    filedialog.Filter = "csv Files|*.csv";
    filedialog.InitialDirectory = @"c:\";

    if(filedialog.ShowDialog()== DialogResult.OK)
    {
        txtfilePath.Text = filedialog.FileName;
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-23 10:04:50

我很确定异常在这一行中抛出。

代码语言:javascript
复制
var AllFiles = new DirectoryInfo(CSVpath).GetFiles() ;

将其封装在thing语句中总是一件好事。但正如异常消息所述,要么路径不正确,要么不存在路径,要么语法错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39657891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档