我正在使用此代码将数据从 Excel 选项卡表导入 SQL Server。
在一个 Excel 选项卡中,我们有100,000条记录,但代码只导入了大约49,000条记录。
在第二个选项卡中,我们有大约50,000条记录,但代码只导入了大约23,000条记录。
没有错误发生,它只是移动到下一个选项卡导入,因为我们有大约 18 个 Excel 选项卡表要导入。
有人有什么主意吗?是什么原因造成的,我的代码中可能存在什么问题?
感谢大家阅读帖子。
using (OleDbConnection excelConnection = new OleDbConnection(excelConnString))
{
// Create OleDbCommand to fetch data from Excel
using (OleDbCommand cmd = new OleDbCommand("Select * FROM [Landing Page$] where [Landing Page Unique ID] <> ''", excelConnection))
{
excelConnection.Open();
using (OleDbDataReader dReader = cmd.ExecuteReader())
{
using (SqlConnection con = new SqlConnection(connection))
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(con))
{
SqlCommand sqlcmd = new SqlCommand("TRUNCATE TABLE tblName", con);
con.Open();
sqlcmd.ExecuteNonQuery();
bulkCopy.DestinationTableName = "tblName";
bulkCopy.ColumnMappings.Add("[field names]", "field names");
bulkCopy.ColumnMappings.Add("[field names]", "field names");
// etc
bulkCopy.BatchSize = 300;
// Wait
bulkCopy.BulkCopyTimeout = 1200;
bulkCopy.WriteToServer(dReader);
con.Close();
}
}
}
}
}