sqkbulkcopy會替換錶模式嗎?

c# sqlbulkcopy

我使用sqlbulkcopy從C#代碼插入批量數據。在temp_upload表中有15000條記錄。現在,WriteToServer()方法中的數據表只有一列和37行。

運行後,我發現該表只有37條記錄。最初它有152列但在此之後只剩下32列。

這可能是什麼原因?

C#代碼

public static void BulkInsert(SqlConnection connection,DataTable DtRecord,string   TableName)
    {

        if (DtRecord == null) throw new ArgumentNullException("dataTable");
        // Create & open a SqlConnection, and dispose of it after we are done

            connection.Open();
            SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);
            bulkCopy.DestinationTableName = TableName;
            for (int recordLoop = 0; recordLoop < DtRecord.Columns.Count; recordLoop++)
            {
                bulkCopy.ColumnMappings.Add(DtRecord.Columns[recordLoop].ColumnName, DtRecord.Columns[recordLoop].ColumnName);
            }

            bulkCopy.WriteToServer(DtRecord);
            bulkCopy.Close();
            connection.Close();

    }

熱門答案

此MSDN頁面上給出的示例代碼具有在執行複制操作之前創建具有相應字段的表的腳本,因此我懷疑SqlBulkCopy是否更改了架構。此外,SQLBulkCopy利用列映射,這與更改目標表的模式不一致,因為這樣做不需要映射。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因