如何在不定义目标表的情况下使用BulkCopy

时间:2012-01-18 16:15:58

标签: c# sql datatable sqlbulkcopy

全部,

我有以下BulkCopy操作:

// Convert the FlexGrid to a DataTable.
DataTable currData = (DataTable)c1ErrFlexGrid.DataSource;

// Insert the data into the database.
SqlBulkCopy SqlBulkIns = new SqlBulkCopy(strConnString, SqlBulkCopyOptions.Default);
SqlBulkIns.BatchSize = 5000;
SqlBulkIns.DestinationTableName = String.Format("dbo.{0}", strTableName);
SqlBulkIns.WriteToServer(currData);

其中strConnectionString是已定义且有效的连接字符串。当表strTableName存在且字段已定义时,这在过去运行良好。我现在希望在运行时定义的BulkCopy上执行此DataTable操作;也就是说,没有在SQL中预定义表结构。这可能吗?如果是这样,怎么样?

感谢您的时间。

1 个答案:

答案 0 :(得分:8)

您可以使用此SqlTableCreator对象从数据表创建SQL表,然后运行批量插入。