2010-11-12 19 views
0

我有通过SSIS导入SQL 2008 R2的Excel 2003文件。有一列我遇到了一个大问题。该列在Excel工作表中定义为TEXT。在36行中,有32个像XTZ23这样的值,它们可以正确导入。然而,最后4行 只是像2646672这样的数字。它们作为NULL导入。如果我将连接字符串更改为IMEX = 1并将注册表修改为TypeGuessRow=0,则这些数字最终将变为2.64667e + 006。SSIS无法正确导入Excel中的TEXT列(整数结果为NULL值)

我在这里错过了什么?

+1

他们必须保持excel文件吗?如果将它们另存为csv,则可以使用schema.ini来定义数据类型。 – datatoo 2010-11-12 14:31:32

回答

0

如果可能,第一种解决方案是更改excel列格式。第二,两年前我有过这个问题,因为我从另一个服务中获得了excel文件,所以无法更改它...我不能正确地重新记住,但我已经调用了自定义代码/函数,或者它是某种SSIS内部将特定列行从一种数据类型转换为另一种数据类型的转换。

1

我知道这是一个旧帖子,但对于未来的搜索者,只需将IMEX = 1添加到SSIS中Excel管理器的连接字符串中即可。

+0

+1为正确的答案 – 2012-05-29 15:54:20