【发布时间】:2011-06-04 23:30:58
【问题描述】:
我已将记录导出到以“|”分隔的平面文件似乎当我将这些记录导入新数据库时,SQL Server 将 NULL 值视为空字段。当记录/字段为 NULL 时,IMy 查询正常工作,因此我想找到一种方法来保留数据中的 NULL 值或将空白字段转换为 NULL 值。我假设前者会更容易,但我不知道该怎么做。任何帮助将不胜感激。
【问题讨论】:
标签: sql sql-server-2005 ssis null
我已将记录导出到以“|”分隔的平面文件似乎当我将这些记录导入新数据库时,SQL Server 将 NULL 值视为空字段。当记录/字段为 NULL 时,IMy 查询正常工作,因此我想找到一种方法来保留数据中的 NULL 值或将空白字段转换为 NULL 值。我假设前者会更容易,但我不知道该怎么做。任何帮助将不胜感激。
【问题讨论】:
标签: sql sql-server-2005 ssis null
我也遇到了同样的问题。我通过更改数据流任务中平面文件源属性中的 RetainNulls 属性解决了这个问题。
【讨论】:
在数据流中的目标连接中,您可以检查一个属性,该属性显示保持空值,只需检查即可。为什么这不是我永远不会知道的默认设置。
嗯,那里发生了一些奇怪的事情。我可以建议您然后清理数据并将其更改为 null,您可以将其作为数据流的一部分执行,也可以执行两个数据流,一个将数据插入到临时表中,然后运行执行 SQl 任务进行清理up 然后创建一个数据流从临时表运行到真实表。
【讨论】:
如果有人在以编程方式构建包时正在寻找如何执行此操作,则需要在 CManagedComponentWrapper 对象中设置变量
CManagedComponentWrapper instanceSource = ComponentSource
...
instanceSource.SetComponentProperty("RetainNulls", true);
【讨论】: