使用SSIS从SQL Server 2005中的平面文件导入时如何保留NULL值

问题描述 投票:13回答:3

我已将记录导出到由“|”分隔的平面文件中似乎当我将这些记录导入新数据库时,SQL Server将NULL值视为空字段。当记录/字段为NULL时,IMy查询正常工作,因此我想要找到一种方法来保留数据中的NULL值或将空白字段转换为NULL值。我假设前者会更容易,但我不知道该怎么做。任何帮助,将不胜感激。

sql sql-server-2005 ssis null
3个回答
16
投票

在数据流中的目标连接中,有一个属性可以检查“保持空值”,JUst检查该属性。为什么那不是我永远不会知道的默认值。

嗯那里有什么东西。我建议您然后清理数据并将其更改为null,您可以将其作为数据流的一部分执行,也可以执行两个数据流,一个将数据插入到临时表中,然后运行exectue SQl任务来执行清理然后创建一个数据流以从登台表运行到真实表。


18
投票

我刚遇到同样的问题。我通过在数据流任务中的平面文件源的属性中更改RetainNulls属性来解决它。


0
投票

如果有人在编程时以构建包的方式查看如何执行此操作,则需要在CManage Component Wrapper对象中设置变量

CManagedComponentWrapper instanceSource = ComponentSource
...
instanceSource.SetComponentProperty("RetainNulls", true);
© www.soinside.com 2019 - 2024. All rights reserved.