【问题标题】:While Import Data from Excel to SQL DB SSIS Shows NULL for Interger Columns虽然将数据从 Excel 导入 SQL DB SSMS 显示整数列为 NULL
【发布时间】:2020-09-25 06:07:40
【问题描述】:

我正在使用 Excel 文件将数据导入 SQL DB 表中。

我的专栏同时包含 Text 和 Interger 数据类型。

在 SSIS Excel Source Assistant 中预览我的 Excel 文件时,该整数行显示为 NULL。

注意:我不需要更改 Excel 文件中的任何列。

我们可以在 SSIS 本身中实现这一点吗?

【问题讨论】:

    标签: ssis ssis-2012 ssis-2008


    【解决方案1】:

    Excel 驱动程序读取指定源中的一定数量的行(默认为 8 行)来猜测每列的数据类型。当一列似乎包含混合数据类型,尤其是数字数据与文本数据混合时,驱动程序会决定支持多数数据类型,并为包含其他类型数据的单元格返回空值。

    因此,关于此问题,此行为是设计使然。为了解决这个问题,我们将 IMEX=1 添加到属性窗口中 Excel 连接管理器的连接字符串中的扩展属性值中。

    对于 .xlsx 文件,Excel 连接管理器的连接字符串如下: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Temp\Test.xlsx;Extended Properties="Excel 12.0 XML;HDR=YES;IMEX=1";

    对于 .xls 文件,Excel 连接管理器的连接字符串如下: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\Test.xls;Extended Properties="Excel 8.0;HDR=YES;IMEX=1";

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 2015-01-02
      • 1970-01-01
      相关资源
      最近更新 更多