SSIS 未正确从 Excel 导入 TEXT 列(整数导致 NULL 值)
Posted
技术标签:
【中文标题】SSIS 未正确从 Excel 导入 TEXT 列(整数导致 NULL 值)【英文标题】:SSIS not importing TEXT column from Excel correctly (integer results in NULL value) 【发布时间】:2010-11-12 08:56:30 【问题描述】:我有通过 SSIS 导入 SQL 2008 R2 的 Excel 2003 文件。在其中一个专栏中,我遇到了一个大问题。该列在 Excel 工作表中定义为 TEXT。在 36 行中,有 32 行具有 XTZ23 之类的值,它们可以正确导入。然而最后 4 行
只是像 2646672 这样的数字。它们被导入为 NULL。如果我将连接字符串更改为 IMEX=1 并将注册表修改为 TypeGuessRow=0
,这些数字最终会变成 2.64667e+006。
我在这里错过了什么?
【问题讨论】:
必须保留 excel 文件吗?如果将它们保存为 csv,则可以使用 schema.ini 来定义数据类型。 【参考方案1】:我知道这是一篇旧帖子,但对于未来的搜索者,只需将 IMEX=1 添加到 SSIS 中 Excel 管理器的连接字符串中即可。
【讨论】:
【参考方案2】:如果可能,第一个解决方案是更改 excel 列格式。 其次,我在 2 年前遇到过这个问题,excel 文件无法更改,因为我是从另一个服务中获取的……我记不清了,但我调用了自定义代码/函数,或者它是某种转换在将特定列行从一种数据类型转换为另一种数据类型的 SSIS 内部。
【讨论】:
以上是关于SSIS 未正确从 Excel 导入 TEXT 列(整数导致 NULL 值)的主要内容,如果未能解决你的问题,请参考以下文章