0

我正在使用 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();

    }
4

1 回答 1

0

此 MSDN 页面上给出的示例代码具有在执行复制操作之前创建具有适当字段的表的脚本,因此我怀疑 SqlBulkCopy 会更改架构。此外,SQLBulkCopy 使用列映射,这与更改目标表的架构不一致,因为不需要映射来执行此操作。

于 2009-09-30T15:45:38.710 回答