Вставка уникального идентификатора для файла, загруженного в базу данных с помощью SqlBulkCopy

Есть таблица со следующими столбцами:

ProdID
Specification
Value

У меня есть CSV-файл со схемой, в которой есть только два последних столбца — Specification и Value. Другими словами, это мои заголовки csv. Теперь мне нужно связать значения этого файла с одним уникальным идентификатором.

Значение этого идентификатора в том, что он является ссылкой на документ; здесь это не важно, но пока предположим, что это требуется системой.

Теперь, когда я использую класс SqlBulkCopy для вставки, есть ли способ, которым я все еще могу вставить какое-то значение для ProdID, чтобы каждая вставленная строка имела один и тот же ProdID для этого файла, который я пытаюсь массово скопировать...?


person deostroll    schedule 31.01.2013    source источник


Ответы (2)


Это зависит. если ProdID является полем identity в базе данных, база данных заполнит его для вас, когда вы выполняете массовое копирование.

Если это не так, вам нужно будет заполнить его самостоятельно и передать три столбца в SqlBulkCopy вместо двух.

person zmbq    schedule 31.01.2013

Вам нужно будет что-то сделать в строках следующего кода:

string cmdTxt = "SELECT " + ProdID + ", * FROM [sample.csv]";

Неважно, где вы поместите поле ProdID в предложении select выше; в начале или в конце вы получите набор результатов с ProdID в качестве первого поля...

person deostroll    schedule 06.02.2013