Добавление данных

Андрей
Дата: 14.03.2001 10:40:39
Имеется таблица. Ключ по 4м полям.
Добавляю данные из тексового файла(BCP).
Новые должны добавиться, повторяющиеся отброситься.
Но этого не происходит. Процесс останавливается и
появляется сообщение о дубликатах ключа.
Что делать?
Помогите кто может.
Андрей
Glory
Дата: 14.03.2001 10:47:06
А ключ -m утилиты bcp.exe используется ?
Из BOL
"Specifies the maximum number of errors that can occur before the bulk copy operation is canceled. Each row that cannot be copied by bcp is ignored and counted as one error. If this option is not included, the default is 10."

Только надо помнить, что считаться будут все ошибки добавления, а не только ошибки нарушения уникальности ключа.
Dmitry
Дата: 14.03.2001 11:27:28
-m учитываеть только ошибки преобразования типа, а не ошибки нарушения уникадьности ключа.
Надо: Сгенери табличку с такой же структурой как основная; перед применением Bcp чисти ее truncate-ом; при использовании bcp - закачивай данные в эту временную таблицу; потом что-то вроде
delete from temptable t from basetable b where t.ke1=b.key1 and t.ke2=b.key2 and t.ke3=b.key3 and t.ke4=b.key4
insert into basetable select * from temptable

(basetable - основная таблица; temptable - временная)
Да, если в самом закачиваемом файле могут встречаться строки с нарушением идентичности ключа, то в temptable сделай все столбцы неключевыми.