我使用OPENROWSET导入Excel文件。如果列<= 8224个字符,则它起作用。我的代码如下:
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,级别16,状态1,第3行无法初始化数据源 链接服务器的OLE DB提供程序“ Microsoft.ACE.OLEDB.12.0”的对象 “(空)”。
有人可以给我一些建议吗?谢谢,抱歉我的英语不好
答案 0 :(得分:-1)
我在此链接中找到了根本原因:https://support.microsoft.com/en-us/help/2836058/access-errors-during-import-export-to-excel-xls
有一些解决此问题的方法:
改为使用* .xlsx格式
将任何备注/长文本字段的长度限制为小于8224字节
导出时,请使用相同的文件名删除现有的.xls文件,然后再执行导出
在从Access执行导入/导出之前,先在Excel中打开.xls文件