Я использую этот код для импорта данных из вкладки 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();
}
}
}
}
}