SqlBulkCopy не копирует данные

Вот схема для TABLE1:

CREATE TABLE [dbo].[TABLE1] ( [id] [int] IDENTITY(1, 1) NOT NULL, [code] [int] NOT NULL, [description] [varchar](256) NOT NULL, [value] [numeric](18,2) NOT NULL ) 

Вот мой код SqlBulkCopy:

 DataTable data = new DataTable(); data.Columns.Add("code", typeof(int)); data.Columns.Add("description", typeof(string)); data.Columns.Add("value", typeof(decimal)); foreach (Item item in items) { data.Rows.Add(item.Code, item.Description, item.Value); } SqlConnection sqlConn = new SqlConnection(_connstr); sqlConn.Open(); SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn, SqlBulkCopyOptions.TableLock, sqlConn.BeginTransaction()); bulkCopy.DestinationTableName = "TABLE1"; bulkCopy.ColumnMappings.Clear(); foreach (DataColumn col in dt.Columns) { bulkCopy.ColumnMappings.Add(new SqlBulkCopyColumnMapping(col.ColumnName, col.ColumnName)); } bulkCopy.WriteToServer(dt); sqlConn.Close(); 

При отладке через него все выглядит хорошо, но после вызова функции WriteToServer данные не добавляются в базу данных. Я попытался не сбрасывать сопоставления столбцов, но это дает ошибку из-за столбца IDENTITY. Не уверен, что еще может быть неправильно.

Похоже, вы никогда не совершаете транзакцию. Вам необходимо сохранить ссылку на транзакцию, которую вы начали, и зафиксировать ее:

 var transaction = sqlConn.BeginTransaction(); SqlBulkCopy bulkCopy = new SqlBulkCopy( sqlConn, SqlBulkCopyOptions.TableLock, transaction ); 

а потом

 transaction.Commit(); 

после вызова для выполнения массовой копии и перед закрытием соединения.

Interesting Posts

как создать временную? хранимую процедуру, чтобы помочь составить сводный вид?

Выполнять очень длинные инструкции в TSQL с помощью sp_executesql

Можно ли использовать динамически созданные значения в SQL PIVOT?

Сравнить дни в Linq

Сохраненные процедуры для файлов .sql

Выберите одну строку на основе нескольких критериев в одном столбце

Как создать процедуры в разных базах данных с помощью курсора

SQL-запрос внутреннего соединения возвращает два одинаковых столбца

Как сгенерировать все скрипты ограничений

Условный внешний ключ в SQL

Уникальное ограничение (в сочетании с другим столбцом определенного значения)

Автоматические разделы и функции автоматического поиска текста

Является ли использование идентификационной маркировки хорошей с метаданными

База данных Entity Framework сначала с MySQL и MS SQL

SQL QUERY Выберите сотрудника, который под конкретным боссом

Давайте будем гением компьютера.