Здесь очень мало идей. У меня есть случай, когда я использую SqlBulkCopy для накачки данных в БД, и примерно через полгода я сталкиваюсь с разными исключениями (нарушения первичного ключа, нарушения индекса и т. Д.).
Я подтвердил, что нарушения на самом деле верны и должны быть исправлены в данных. Тем не менее, это то, что если бы я писал в БД с помощью DataAdapter (который был бы намного медленнее), у плохих строк в DataSet было бы включение HasErrors, чтобы я мог легко найти их и позаботиться о вещах. С SqlBulkCopy? Шиш. Нада. Удачи в поиске того, кто вызвал вашу проблему, потому что все, что вы получите, это имя ошибки (например, «нарушение первичного ключа в yada yada yada, blah blah blah»), и все.
Какие-либо предложения? Я не могу поверить, что невозможно получить эти ошибки. Со стандартной BCP я думаю, что вы можете даже перекачать эти вещи в файл журнала. Разве мы не можем сделать что-то подобное с помощью SqlBulkCopy?
Спасибо,
Когда я делаю импорт данных, требующий проверки, я обычно выгружаю данные в таблицу, которая будет принимать данные как есть, а затем запускать хранимый процесс или какой-либо другой sql, который может проверять мои данные на основе набора, делать преобразования , и поместить его в конечный пункт назначения таким образом, чтобы я мог контролировать.