我有一个包将数据从表导出到平面文件目的地。在另一台服务器中,导出的文本文件将导入到表中。实际上我的问题是,包应该导出并导入NULL为NULL并将空字符串作为空字符串。
我知道我们在平面文件源中有一个选项“将源中的空值保留为数据流中的空值”。但它会将所有空字符串更改为空值。
任何人都可以建议我以更好的方式实现这一目标。
答案 0 :(得分:2)
BCP可以成为解决方案。运行BCP将源表导出到文件,然后运行BCP将文件导入目标表。对BCP的调用可以通过xp_cmdshell进行,因此可以作为执行SQL任务运行。有趣的是,BCP将空字符串输出为null,将null输出为空字符串。但是如果我们使用BCP进行导出和导入,则值将被正确映射。
答案 1 :(得分:1)
我会将“true”空值导出为不同的文本,例如<null>
,然后在导入时将它们替换为空值。