Как использовать BulkCopy без определения таблицы назначения - PullRequest
3 голосов
/ 18 января 2012

Все,

У меня есть следующая 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 Ответ

8 голосов
/ 21 января 2012

Вы можете использовать этот объект SqlTableCreator , чтобы создать таблицу SQL из таблицы данных и затем запустить массовую вставку.

...