我有一个SSIS包,它从SQL Server导入数据并将其放入Excel目标文件中。进入ADO Source组件的高级编辑器时,我有一个字段Description,其外部数据类型为Unicode String,长度为4000,输出数据类型为Unicode Text Stream(这是为了确保长度> 255可以导入到Excel中)。现在,当我进入Excel Destination组件的“高级编辑器”时,数据类型将停留为String,长度为4000。它允许我对其进行更改,但是单击“保存”后会立即还原。运行包会导致失败,因为我在Unicode String字段中具有长度大于255的数据。关于此问题,我搜索了无数线程,例如this,但尚未解决。任何帮助将不胜感激。

最佳答案

这可能非常简单:在进行与Source组件相关的任何更改后,我发现我必须双击绿色箭头-显示元数据的作用不只是显示它-它还会根据源组件。只有在那之后,目标组件才能“看到”对源组件的更改。

但这还不够:在进行此类更改时,在使它们生效之前,我常常不得不(1)删除目标组件,(2)在SSIS中删除目标连接对象,以及(3)删除/重命名/移动实际的Excel电子表格,然后通过单击按钮(在“目标”组件中)生成一个新的电子表格,该按钮从元数据生成一个新的目标文件。

07-25 23:22
查看更多