SSIS - 强制 Excel 连接

Posted

技术标签:

【中文标题】SSIS - 强制 Excel 连接【英文标题】:SSIS - Force Excel connection 【发布时间】:2020-01-11 14:03:02 【问题描述】:

我正在尝试将 Excel 数据作为源导入到 SQL Server 表目标。对于 Excel 源,当我尝试单击源框并在高级编辑器中重置长度和类型时,它会不断将 Excel 源导入列设置回 255 长度和 DT_WSTR 类型。我的一些列只需要小的无符号整数,而 255 DT_WSTR 是多余的。我在这个主题上的搜索发现更多关于如何将它扩展到 255 之外而不是从一开始就截断。

似乎数据转换转换并不能完全处理这个问题,也许我为此错误地使用了它。有没有办法在不关闭截断错误的情况下截断传入的数据?

【问题讨论】:

【参考方案1】:

这个问题有多种解决方案。 最简单的一种是将数据原样上传到 SQL 暂存表,然后使用 T-SQL 转换为您想要的类型。

您可以使用“数据转换”控件,只是不要忘记使用“别名”名称。此外,您需要在那里添加错误处理。

您还可以使用“派生列”控件。在那里您“添加为新列”,正确命名以使用并为您的列指定转换公式。您可以在此处根据需要收缩您的字符串。也不要忘记错误处理。

【讨论】:

我为此选择了数据转换路线。感谢您的宝贵时间。

以上是关于SSIS - 强制 Excel 连接的主要内容,如果未能解决你的问题,请参考以下文章

如何在调试过程中强制 SSIS 数据流出错或停止?

SSIS Conditional Split - 强制默认路径抛出异常

如何使用带字符串函数的强制转换

Excel 连接管理器的 SSIS 包问题

SSIS动态excel阅读

ssis excel源无法在设计时获取连接管理器