SSIS - 强制 Excel 连接

SSIS - Force Excel connection

我正在尝试将 Excel 数据作为源导入到 SQL 服务器 table 目标。对于 Excel 源,当我尝试单击“源”框并在高级编辑器中重置长度和类型时,它一直将 Excel 源导入列设置回 255 长度和 DT_WSTR 类型。我的一些专栏只需要小的无符号整数,而 255 DT_WSTR 有点过分了。我对这个主题的搜索找到了更多关于如何将它扩展到 255 之外而不是从头开始截断的信息。

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

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

您可以使用 "Data Conversion" 控件,只是不要忘记使用 "Aliased" 名称。另外,您需要在那里添加错误处理。

也可以使用"Derived Column"控件。您 "Add as new column" 正确命名它,以便为您的列使用和指定转换公式。您可以随心所欲地在那里收缩您的字符串。也不要忘记错误处理。