【问题标题】:Is their an issue with importing Excel files with null rows into SQLServer 2005 tables将具有空行的 Excel 文件导入 SQLServer 2005 表是否存在问题
【发布时间】:2011-02-18 16:01:40
【问题描述】:

我正在使用openrowset() 函数将 Excel 文件导入到临时 SQLServer 2005 表中。

在大多数情况下都可以正常工作。但如果 Excel 文件的前 10 行为 null,则其余非 null 行导入为 null。

以前有人遇到过这个问题吗?关于如何克服它的任何想法?

【问题讨论】:

  • 请在您的键盘上找到 大写锁定,然后按下它。就像我刚刚做的那样。

标签: sql-server-2005


【解决方案1】:

这是由 OLEDB 驱动程序如何确定 Excel 中的数据类型引起的。默认情况下,它会扫描前 8 行以确定字段的数据类型。

  • 您曾经能够在连接字符串中设置“MaxScanRows”来配置要在工作表中扫描的行。不幸的是,自 Jet 4.0 以来,此设置不再起作用。现在强制它的唯一方法是设置注册表项 [HKLM\Software\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows]。可能的值是 1-16 或 0 以扫描整个文件。
  • 还有 IMEX 设置(表示 ImportMixedTypes),当您将其设置为 1 时,表示“ImportMixedTypes=Text”。这解决了很多问题,因为驱动程序会根据它找到的特定类型中的值的数量来确定数据类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-20
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多