Экспортировать нулевые значения в исходный файл

У меня есть пакет, который будет экспортировать данные из таблицы в плоский файл назначения. На другом сервере экспортированный текстовый файл будет импортирован в таблицу. На самом деле моя проблема в том, что пакет должен экспортировать и импортировать NULL как NULL, а пустую строку - как пустую строку.

Я знаю, что у нас есть опция в источнике плоского файла "Сохранить нулевые значения из источника как нулевые значения в потоке данных". Но это изменит все пустые строки в нулевые значения.

Может кто-нибудь, пожалуйста, предложите мне добиться этого лучше.

2 ответа

BCP может быть решением здесь. Запустите BCP, чтобы экспортировать исходную таблицу в файл, а затем запустите BCP, чтобы импортировать файл в целевую таблицу. Вызов BCP может быть выполнен через xp_cmdshell, поэтому его можно запускать как задачу "Выполнение SQL". Интересно отметить, что BCP выводит пустую строку как ноль и ноль как пустую строку. Но если мы используем BCP для экспорта и импорта, значения будут отображены правильно.

Я бы экспортировал "истинные" нули как отдельный текст, например <null>, а затем заменить их обратно как нули при импорте.

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