我试图将CSV文件导入到SQL服务器数据库中。但是,当我选择文件它打破在var AllFiles = new DirectoryInfo(CSVpath).GetFiles() ;
一个错误信息:在mscorlib.dll中发生未处理的“System.IO.IOException”类型异常目录名称无效
类型的未处理的异常“System.IO.IOException”出现在mscorlib.dll目录名称是无效的。
(注意这个“目录名称是无效的。” 已经从荷兰的句子翻译成“德mapnaam是ongeldig。”)
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;
}
}
是'CSVpath'有效的目录吗? –
简单'CSVpath'表示无效的目录你不能调试,看看里面有什么 –
@AmitKumarGhosh CSVpath从选择文件的浏览按钮中获取目录,在调试中显示目录到文件 – Stijn