2014-02-04 4 views
0

Я читаю данные из файла Excel или CSV. Я беру эти данные и создаю datatable. Затем я объединяю данные, связанные с данными, созданными из исходной базы данных. Слияние работает, и я уже отсортировал все типы данных и имена столбцов. У меня есть тонна ссылок, но большинство из них сводится к типу данных и столбцу/столбцу.SqlBulkCopy не работает, нет ошибок

Нет ошибок. Все работает гладко. Я пытаюсь копировать данные, которые я пытаюсь выполнить для массового копирования, в окне просмотра таблицы VS. Когда я проверяю SQLExpress, никаких изменений не было сделано. Я использую ту же строку соединения, что и для остальной части проекта, который работает (строка delete, add, edit и т. Д.).

dt.Merge(dtnew) 

    Using destinationConnection As SqlConnection = _ 
        New SqlConnection(sConnectionString) 
     destinationConnection.Open() 

     ' Set up the bulk copy object. 
     ' The column positions in the source data reader 
     ' match the column positions in the destination table, 
     ' so there is no need to map columns. 

     Using bulkCopy As SqlBulkCopy = _ 
      New SqlBulkCopy(destinationConnection) 
      bulkCopy.DestinationTableName = _ 
      "dbo.TableName" 

      Try 
       ' Write from the source to the destination. 
       bulkCopy.WriteToServer(dt) 

      Catch ex As Exception 
       Console.WriteLine(ex.Message) 

      Finally 
       ' Close the SqlDataReader. The SqlBulkCopy 
       ' object is automatically closed at the end 
       ' of the Using block. 
      End Try 
     End Using 

    End Using 
End Sub 

ответ

1

ли отображение столбца также ..

bulkCopy.ColumnMappings.Add("source column name,"destination column name") 

или если у вас есть такое же имя столбца в дт и dbo.Tablename, то вы можете использовать следующий код

For Each clmn As DataColumn In dt.Columns 
    bulkCopy.ColumnMappings.Add(clmn.ColumnName, clmn.ColumnName) 
Next 
+0

Я надеюсь, что это работает , Одна из последних двух препятствий в этом проекте ... пока. Куда это идет? У меня одинаковые имена столбцов, или, по крайней мере, я намерен. – ZL1Corvette

+0

имена столбцов, а также их типы данных должны быть одинаковыми .. Интересно, почему вы не получаете никаких ошибок ... использовали Try Catch block, чтобы поймать ошибку? –

+0

Darn. Произошла ошибка, но я не сделал msgbox для ее отображения. Он жалуется на сопоставления столбцов. Я дам вам сертификат «ответ», если это исправление. Благодарю. – ZL1Corvette

Смежные вопросы