0

我正在使用此代码将数据从 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();                                
                }
            }
        }
    }
}
4

0 回答 0