【问题标题】:Unable to change an SSIS Excel Destination Column Data Type无法更改 SSIS Excel 目标列数据类型
【发布时间】:2014-03-21 23:24:15
【问题描述】:

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

【问题讨论】:

  • 感谢您在下方的支持和接受。问题:什么有效?是不是像绿色箭头一样简单(有时会令人惊讶,嗯?)...还是您必须删除/重新创建 (1)、(2) 或 (3)?

标签: sql-server excel unicode ssis unicode-string


【解决方案1】:

这可能很简单:在您对 Source 组件进行任何更改后,我发现我必须双击绿色箭头 -- 表明元数据不仅仅显示它 -- - 它也基于源组件更新该元数据。只有在那之后,Destination 组件才能“看到” Source 组件的更改。

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

【讨论】:

  • 上面的 (1) 和 (2) 似乎起到了作用,同时为 SSIS 提供了一个新的 Excel 工作簿。它一定是记住了一些旧的元数据或其他东西(猜错了?),谁知道呢。无论如何,谢谢!
【解决方案2】:

我之前在 Union All 组件中遇到过这个问题,我设法在不删除和重新创建组件的情况下修复它的唯一方法是打开/编辑它,将有罪的字段设置为“忽略”在输入上,按 OK,然后返回并将输入设置回原始字段,然后按 OK。

这似乎起到了作用。也许其他组件的类似方法可能会起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多