SSIS c# OpenXML生成Excel文件失败
本文关键字:文件 失败 Excel 生成 OpenXML SSIS | 更新日期: 2023-09-27 18:17:48
我使用OpenXML在SSIS包中使用c#生成Excel文件。
我这样做是因为我们没有在服务器上安装Excel,所以这应该不需要安装Excel。
这在本地工作,但在移动到PROD服务器时失败。它在脚本任务上失败,我得到这个错误:
Executed as user: MI'SQLAgentAccount. Microsoft (R) SQL Server Execute Package Utility Version 11.0.5058.0 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved. Started: 10:46:49 AM Error: 2015-10-15 10:46:50.49 Code: 0x00000001 Source: Save To Excel Without Excel Description: Exception has been thrown by the target of an invocation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10:46:49 AM Finished: 10:46:50 AM Elapsed: 0.827 seconds. The package execution failed. The step failed.
我在引用中包括OpenXML和WindowBase对象,并将它们与"using"语句添加。
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
这些需要向GAC注册吗?或者有一种方法将它们包括在项目中(在SSIS内的脚本任务内)?在SSIS中的c#脚本任务中有"复制到本地"的设置,但不确定这在SSIS中是如何工作的。
是的,您需要确保您从GAC中获得它,并将程序集复制到c:' windows ' microsoft净' Framework '
我自己做了一些研究,发现了以下链接,确认了这个问题和解决方案:http://beyondrelational.com/modules/2/blogs/81/posts/11263/referencing-an-assembly-inside-ssis-script-task.aspx