错误消息:Microsoft.SqlServer.Dts.Runtime.TaskHost / Excel中出错 目的地[22]:SSIS错误代码DTS_E_OLEDBERROR。 OLE DB错误 已经发生了。错误代码:0x80004005。 OLE DB记录可用。 来源:" Microsoft Office Access数据库引擎" Hresult:0x80004005 说明:"无法扩展命名范围。"。
Microsoft.SqlServer.Dts.Runtime.TaskHost / Excel目标中的错误 [22]:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。该 " Excel Destination.Inputs [Excel目的地输入]"失败是因为 发生错误代码0xC020907B,并且错误行处置开启 " Excel Destination.Inputs [Excel目的地输入]"指定失败 出错了。指定的指定对象发生错误 零件。在此之前可能会发布错误消息 有关失败的信息。
任务:尝试将SQL数据导出到多个Excel电子表格。每个州都是一张纸。在单个excel文件中,50个州将是50个excel电子表格。
我是如何做到这一点的: 1.脚本任务:检查excel文件是否存在,如果存在则删除该文件。 2.使用excel连接管理器(2007)的SQL任务将创建excel文件/表。我在容器中有50个sql任务,这些任务只是在同一个文件中创建新工作表。 Excel连接管理器2007具有Provider = Microsoft.ACE.OLEDB.12.0。
的表达式表达式:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::DynExcelFilename] + ";Extended Properties=\"Excel 12.0 XML;HDR=YES\";"
@DynExcelFilename
"\\ABC_" + (DT_WSTR,4) YEAR( GETDATE() ) + "_" +
(DT_WSTR,2) MONTH( GETDATE() ) + "_" + (DT_WSTR,2) DAY( GETDATE() ) + ".xlsx"
每天都是动态文件名。 3.数据流任务>带有SQL查询的OLE源和Excel目标连接到Excel连接管理器。我有50个数据流任务将数据推送到多个电子表格(因为文件和已经在#2中创建了多个表格)..我在这里使用它们。
这项使用的工作完全正常,直到最近才进行服务器升级并添加了SQL 2012& SSDT 2012包装。从那时起我就犯了错误。
任何建议都将不胜感激。
答案 0 :(得分:0)
我在另一篇文章中找到了答案。我试图从同一个数据流任务写入多个工作表。为每个工作表创建不同的数据流任务解决了问题!
Creating SSIS Package in SSDT. Conditional Split in Data Flow Task Causes Package To Break
答案 1 :(得分:0)
由于另一个问题,我遇到了同样的问题。我不得不将有序计数导出到excel中,但这些数字一直保存为文本。我找到了一个解决方案,其中包括一个带有正确类型变量的虚拟行。问题是,虚拟行可能会以某种方式干扰有序列表。当我删除它时,一切都得到了解决。