c# - 当 SqlBulkCopy 不返回任何错误时调试问题

标签 c# sqlbulkcopy

现在我对 sqlBulkCopy 的问题是它完成时没有任何错误,但是当我查看表时我看不到任何数据。

try catch block 没有捕获任何错误,我是否遗漏了什么?因为我没有发现我的代码有任何问题

这是我使用的代码:

DataTable table = new DataTable();
table.Columns.Add(new DataColumn("Buying ID", typeof(string)));
table.Columns.Add(new DataColumn("Buying BPC ID", typeof(string)));
table.Columns.Add(new DataColumn("Buying BP Name", typeof(string)));
table.Columns.Add(new DataColumn("Buying BP Post Code", typeof(string)));
... snip ...
table.Columns.Add(new DataColumn("Buyer BP Type", typeof(string)));
table.Columns.Add(new DataColumn("Seller BP Type", typeof(string)));
table.Columns.Add(new DataColumn("FileSource", typeof(string)));
table.Columns.Add(new DataColumn("ImportDate", typeof(System.DateTime)));

while ( (line = sr.ReadLine()) != null)
{   
    string[] data = line.Split('\t');
    DataRow row = table.NewRow();
    for (int i=0; i<data.Length; i++)
    {
        row[i] = data[i];
    }
    row["FileSource"] = fi.Name;
    row["ImportDate"] = DateTime.Now;
}

try
{
    db.Connection.Open();
    SqlBulkCopy bulkcopy = new SqlBulkCopy(db.Connection);
    bulkcopy.BatchSize = 500;
    bulkcopy.BulkCopyTimeout = 600;
    bulkcopy.DestinationTableName = "dbo.LNST_test";
    foreach (var col in table.Columns)
    {
        bulkcopy.ColumnMappings.Add(col.ToString(), col.ToString()); //col names in datatable are identical to col names in database
    }
    bulkcopy.WriteToServer(table);
    db.Connection.Close();
}
catch (Exception e)
{
    Console.WriteLine("ERROR : "+e.Message);
}

最佳答案

天哪,我太蠢了...我忘记了这一行:table.Rows.Add(row);

我尝试插入一个空数据表。这就是我喜欢 stackoverflow 的原因,即使我没有从这个令人讨厌的社区得到答案,它也能帮助我解决我的问题:D

关于c# - 当 SqlBulkCopy 不返回任何错误时调试问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867450/

相关文章:

c# - RFID - 领先的零问题

c# - 禁用超时时 SqlBulkCopy 到 Azure 超时

azure - SqlBulkCopy Azure DataTable 比流传输更快

c# - 数据源未添加到 ReportViewer

c# - 将选定的行从数据 GridView 传输到另一个数据 GridView

c# - 两个值之间的距离

c# - .NET x64 : even-number-iteration affinity? 中的 for 循环性能异常

c# - SqlBulkTools - 更新

c# - 使用 SqlBulkCopy 批量插入后获取主键列值

c# - 使用 log4net 批量记录到 SQL Server