Столбец идентификатора массовой вставки 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 в запросе массовой вставки.