Экспортировать нулевые значения в исходный файл
У меня есть пакет, который будет экспортировать данные из таблицы в плоский файл назначения. На другом сервере экспортированный текстовый файл будет импортирован в таблицу. На самом деле моя проблема в том, что пакет должен экспортировать и импортировать NULL как NULL, а пустую строку - как пустую строку.
Я знаю, что у нас есть опция в источнике плоского файла "Сохранить нулевые значения из источника как нулевые значения в потоке данных". Но это изменит все пустые строки в нулевые значения.
Может кто-нибудь, пожалуйста, предложите мне добиться этого лучше.
2 ответа
BCP может быть решением здесь. Запустите BCP, чтобы экспортировать исходную таблицу в файл, а затем запустите BCP, чтобы импортировать файл в целевую таблицу. Вызов BCP может быть выполнен через xp_cmdshell, поэтому его можно запускать как задачу "Выполнение SQL". Интересно отметить, что BCP выводит пустую строку как ноль и ноль как пустую строку. Но если мы используем BCP для экспорта и импорта, значения будут отображены правильно.
Я бы экспортировал "истинные" нули как отдельный текст, например <null>
, а затем заменить их обратно как нули при импорте.