2017-12-27 948 views
2

从服务器运行ssis包时,我得到以下错误。ssis意外终止错误

Data Flow Task:Error: Excel Source failed the pre-execute phase and returned error code 0xC0202009 Data Flow Task :Error: SSIS Error Code DTS_E_OLEDBERROR . An OLE DB error has occurred.Error code:0x80004005 An OLE DB record is available.Source ."(null)" Hresult 0x80004005 Description:"(null)".

为了解决这个问题我已经装在小数字,并没有问题。但是同样的数据,如果我有Excel的25000行SSIS包fails.Since我与大数据工作文件,我需要一个解决方案更好

+0

执行前阶段会出现什么问题? – MJ8

+1

Excel文件很挑剔,尝试保存与'逗号分隔文件(csv)'相同的电子表格,并使用'Flat file source'加载它。 – LONG

+0

平面文件的问题是如果我的列数据在中间会有“”,中止这个过程。 – MJ8

回答

1

我遇到类似的问题,它是使用这种解决方法解决:

首先尝试导入Excel文件使用SQL Server导入和导出向导为SQL。如果它成功完成。只需选择将包保存到文件系统(在向导中选择此选项)。打开它并编辑软件包以添加其他转换选项。

+1

这有助于谢谢 – MJ8

+0

@ MJ8还有一种解决方法是将excel文件导入脚本任务中的数据表。然后将其存储在object类型的ssis变量中。然后将此变量用作源(在数据流任务中使用脚本组件)。你可以按照这个链接进一步了解如何将excel导入到数据表中https://stackoverflow.com/questions/18511576/reading-excel-file-using-oledb-data-provider – Hadi