Столбец идентификатора массовой вставки SQL-сервера

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

Начальная копия...

SQLState = S1000, NativeError = 0

Ошибка = [Microsoft][Собственный клиент SQL Server 10.0] В файле данных BCP обнаружен непредвиденный EOF

SQLState = 23000, NativeError = 515

Ошибка = [Microsoft][Собственный клиент SQL Server 10.0][SQL Server] Невозможно вставить значение NULL в столбец "UNIQUE_ID", таблица "xx.dbo.yyy"; столбец не допускает нулевые значения. Вставить не удается.

SQLState = 01000, NativeError = 3621

Предупреждение = [Microsoft][Собственный клиент SQL Server 10.0][SQL Server] Оператор завершен.

Копия BCP не выполнена

Если я не даю пустое значение для столбца идентификаторов, я получаю сообщение об ошибке - неожиданный EOF обнаружен в файле данных bcp.

Помогите пожалуйста в получении bcp для массовой вставки в таблицу.

1 ответ

Хотя я бы посоветовал вам сначала массово вставить данные в некоторую промежуточную таблицу, а затем вставить данные в основную таблицу из промежуточной таблицы. Таким образом, вы можете сохранить столбцы идентификаторов. Следующим способом является добавление дополнительного столбца идентификатора в ваш файл хоста и оставление столбца пустым, а затем выполнить массовую вставку. Также убедитесь, что вы не используете ключевое слово KEEPIDENTITY в запросе массовой вставки.

Другие вопросы по тегам