通过SSIS目录(SSISDB)加载大型Excel文件时,SSIS包执行失败

时间:2018-09-11 11:45:16

标签: excel ssis etl

该程序包可以从VS成功执行,但是在SSIS目录上部署时会出现以下错误 错误:任务上的Execute方法返回了错误代码0x80070008(无法加载文件或程序集'System.Windows.Forms,版本= 4.0.0.0,Culture =中性,PublicKeyToken = b77a5c561934e089'或其依赖项之一。存储空间不足可用于处理此命令(HRESULT的异常:0x80070008)。 Execute方法必须成功,并使用“ out”参数指示结果

Excel文件大小为147 mb

2 个答案:

答案 0 :(得分:0)

是的,当您尝试通过SQL Server加载Excel文件到2012年时,会出现此问题。限制为120MB,将文件拆分为小于此大小的文件,然后尝试再次加载。 第二种解决方案是尝试使用SQL Server 2016,您将不会遇到此问题。

答案 1 :(得分:0)

Microsoft已经认识到此缺点,并发布了以下程序包以使用“较新的” Access / Excel Connection管理器进行纠正。但是,在安装并按照说明进行操作后-会发生相同的问题。

问题原因:该问题是由于Office版本1997-2003存在限制而引起的。连接管理器是为Office 1997设计的,此后未进行任何修改或改进。这就是为什么当您实际研究Office 2000或2003的限制时,您会看到它们不允许超过255列(上述限制),并且列名的长度不能超过64个字符。这些是Office 2000和1997所存在的软件局限性,并且由于当时是设计连接管理器的,因此,只要MS不投资于改进或更新其产品,它们就一直存在。希望这会有所帮助!

出于其他考虑,这可能是由于OLEDB提供程序版本较旧的版本问题 点击下面的链接可能会对您有很大帮助

[https://blogs.msdn.microsoft.com/dataaccesstechnologies/2017/10/18/unexpected-error-from-external-database-driver-1-microsoft-jet-database-engine-after-applying-october-security-updates/][1]

最后一个解决方案:

正如您所说,您的程序包运行良好,但不在部署模式下,对吗? 那么,为什么不尝试为此软件包 DTEXEC 执行命令行。使用 Windows Task Scheduler 对其进行计划 请点击以下链接。

https://www.mssqltips.com/sqlservertutorial/218/command-line-tool-to-execute-ssis-packages/