有一个奇怪的问题 .

我创建了一个SSIS包,它通过外部数据库和SQL Server 2008之间的ODBC连接导入数据 .

数据流具有源查询(简单:从表中选择列) .

数据转换为字符串[DT_STR]

目标:具有相同结构的SQL Server表 .

如果我执行任务,则输入11,000行 . 没有错误 .

但是,数据都是White Space和NULLS,除了Date字段是正确的(这就是我怎么知道它正在尝试输入正确的数据) .

如果我将源查询中任何单个列的错误输出更改为 Redirect ,则会正确填充所有字段 . 如果我将其设置为Ignore或Failure,我们会得到空白 .

我添加了一个平面文件目标并连接了Redirect行,没有任何内容写入它 .

我们有几个这样的包,我从来没有遇到过这个问题 .

我还重新创建了整个包,同样的事情发生了 .

有任何想法吗?

对于不同的数据库,有8个数据流任务在此包中执行相同的操作 . 如果,我无法弄清楚,是否有一种将错误输出设置为无处的好方法?

enter image description here

enter image description here

enter image description here

UPDATE 2/26/18: 我添加了数据查看器,在源的第一个查看器上,如果源上的错误输出未设置为重定向行,则会获得空白/ NULLS . 如果我设置为Redirect,则Viewer会显示数据 . 注意:我可以在“错误”列或“截断”列上将“任何列错误输出”设置为“重定向” . 只要选择了一个,来自Source的数据就会通过 .

由于这是源和数据转换之间的查看器,这是不是意味着问题出在源查询而不是数据转换?

这是源查询 - 错误输出设置为默认 Fail Component
enter image description here

在这里我设置为 Redirect

enter image description here

enter image description here