【问题标题】:OPENROWSET error if Excel column has more than 8224 characters如果 Excel 列超过 8224 个字符,则 OPENROWSET 错误
【发布时间】:2019-01-05 10:07:56
【问题描述】:

我使用 OPENROWSET 导入 Excel 文件。如果列

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;HDR=YES;IMEX=1;Database=E:\Test\TestImport3.xls;', 
'Select * From [Sheet1$]')

这个测试文件只有一列8224个字符,运行没有任何错误。 但是在我再添加 1 个字符后,它引发了如下错误:

用于链接服务器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0” 返回消息“外部表不是预期的格式。”。消息 7303, Level 16, State 1, Line 3 无法初始化数据源 用于链接服务器的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”的对象 “(空)”。

谁能给我一些建议?感谢和抱歉我的英语不好

【问题讨论】:

    标签: sql oledbconnection openrowset


    【解决方案1】:

    我在这个链接中找到了根本原因:https://support.microsoft.com/en-us/help/2836058/access-errors-during-import-export-to-excel-xls

    有一些解决方案可以解决这个问题:

    1. 改用 *.xlsx 格式

    2. 将任何备注/长文本字段的长度限制为小于 8224 字节

    3. 导出时,删除现有的 .xls 文件,然后使用相同的文件名执行导出

    4. 在从 Access 执行导入/导出之前在 Excel 中打开 .xls 文件

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 2015-09-25
      • 1970-01-01
      • 2021-04-11
      • 2023-04-06
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 2021-05-19
      相关资源
      最近更新 更多