2013-04-25 3 views
1

Когда я вставив большие объемы данных в таблицу из файла CSV, он не работает, показывая ложь об ошибке:Массовая вставка не работает NULL данных

Массовой загрузка Ошибки преобразования данных (несоответствие типов или недопустимый символ для указанный кодовая) для строки 2, колонка 9

колонка 9 значение в CSV-файл является пустым ..

Как заботиться об этом?

+0

Укажите ваши данные выборки и временная схема таблицы с использованием в объемная вставка, чем только она может отслеживать. – commit

ответ

2

Из этого количества информации я бы сказал, что конкретное поле целевой таблицы определено как «NOT NULL». Чтобы обойти эту проблему, вы должны:

а) изменить формат CSV -> Добавить значение в поле (ов), где они имеют нулевой

б) изменить целевую таблицу, установив затронутые поля «обнуляемый»: ALTER TABLE [tblName] ALTER COLUMN [nulColName] [varType such as INT] NULL
В случае, если вы идете для этого решения и хотим повернуть статус таблицы изменить его снова:
UPDATE [tblName] SET [nulColName]=-1000 WHERE [nulColName] IS NULL, чтобы избежать изменять ошибки, то ALTER TABLE [tblName] ALTER COLUMN [nulColName] [varType such as INT] NOT NULL

с) довольно много, как вариант «б», но немного более профессиональный и быстрее: создать временный таблицу на основе целевой таблицы, но разрешая null для любого и всех полей, а затем обновлять нулевые записи таблицы temp после импорта csv с «значением по умолчанию» a d копировать данные в целевую таблицу


Если я прав в этом вопросе, и нет никакой возможности пересмотреть CSV я бы пойти на вариант «с»

+0

Не видя сценарий таблицы, я думаю, что B - отличное место для начала. – Question3CPO