SSIS - “外部表不是预期的格式”和.xls文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS - “外部表不是预期的格式”和.xls文件相关的知识,希望对你有一定的参考价值。
在SSIS ETL转换中,我正在尝试加载某个.xls文件。我有几个相同的模式具有相似的模式,并且它们都正常工作。但是,这一个文件抛出“外部表不是预期的格式”错误。这是我尝试过的:
- 我已经将连接字符串从Jet OLEDB更改为ACE OLEDB,没有结果。
- 我将连接类型从Excel 97-2003更改为2007,没有结果。
- 连接管理器正在使用变量,所以我尝试创建另一个直接加载文件的连接管理器。没有结果。
- 我正在使用SQL查询从文件中读取,所以我尝试读取文件所包含的工作表。他们不加载。
- 我尝试了“另存为...”并使用Excel 97-2003。
- 我试过重新保存文件。
- 我尝试恢复原始文件。
- 我检查了文件所包含的纸张,并将它们与一个类似于加载的纸张进行了比较。至少两者都有相同的床单。
但更奇怪的是,如果我在Excel中加载SSIS时将文件保持打开状态,文件会正确加载。作为附加信息:
- 该文件有宏,但其余文件也是如此。
- 我的电脑运行32位架构。
- 我正在使用Visual Studio 2010 + SQL Server 2012。
还有什么可以使这个错误触发?
编辑:现在我尝试设置ADO.NET源和OLEDB源来打开.xls文件。 ADO.NET无法“从列中检索信息”,OLEDB将其连接关闭。也许有办法知道excel文件的读取何时失败?
我也尝试过一些非常棘手的事情:我查看了活动遮阳板并注意到有一些错误,所以我做了一个快速的谷歌搜索并修复了它。它与SSIS相关联,但修复它并没有解决错误。
答案
最后我做了一些更简单的事情:我将文件转换为.xlsx并使我的连接管理器成为Excel 2007。虽然如果它比我的好,我会标记另一个答案,但我会留给其他有类似问题的人。
另一答案
我在一个SSIS包中面临同样的问题,以解决这个问题。
使用下面的步骤。
以上是关于SSIS - “外部表不是预期的格式”和.xls文件的主要内容,如果未能解决你的问题,请参考以下文章