SSIS导出为ex​​cel

时间:2012-09-21 19:01:28

标签: export-to-excel ssis

使用SSMS我创建了一个导出查询到Excel并将其保存为DTSX包。将此DTSX程序包导入BIDS项目以使其每小时运行并导出一个附加了时间戳的excel文件,使用表达式动态名称。当我从BIDS运行时,包成功执行并创建excel文件没有问题。我启用了DelayedValidation标志。 我可以双击DTSX文件,运行包,它创建excel文件没有问题。当我配置为SQL作业时,它失败并出现以下错误

非常感谢任何指导

Microsoft (R) SQL Server Execute Package Utility  Version 10.50.2500.0 for 32-bit  Copyright (C) Microsoft Corporation 2010. All rights reserved.    
    Started:  2:53:03 PM  
    Error: 2012-09-21 14:53:05.54     
    Code: 0xC0202009     
    Source: Export MyExportQuery to Excel Destination - Query [73]     
    Description: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E37.  End Error  
    Error: 2012-09-21 14:53:05.54     
    Code: 0xC02020E8     
    Source: Export MyExportQuery to Excel Destination - Query [73]     
    Description: Opening a rowset for "Query" failed. Check that the object exists in the database.  End Error  
    Error: 2012-09-21 14:53:05.54     
    Code: 0xC004701A     
    Source: Export MyExportQuery to Excel SSIS.Pipeline     
    Description: component "Destination - Query" (73) failed the pre-execute phase and returned error code 0xC02020E8.  End Error  
    DTExec: The package execution returned DTSER_FAILURE (1).  
    Started:  2:53:03 PM  
    Finished: 2:53:05 PM  
    Elapsed:  2.282 seconds.  The package execution failed.  The step failed.

编辑: SSIS配置为以32位模式运行

1 个答案:

答案 0 :(得分:2)

由于这些情况,大多数问题都出现了:

  • 数据源连接或文件访问问题(当运行sql代理的用户对数据库或目标文件没有正确权限时)。

  • 包保护级别(pwd是敏感数据,有时根据保护级别不会被复制)。

  • 64位问题(这是XL导出的常见问题。由于64位系统没有Jet驱动程序,在64位操作系统上运行时,您需要在sql作业中使用32位DTEXEC或设置“使用32位”运行时“选项,当您创建SSIS作业步骤时,它位于”执行选项“选项卡上,请检查下面链接上的图像以查看它。)

32Bit runtime option image

有关此主题的信息,请查看本文,它详细介绍了ssis包在BIDS上运行但不在SQL作业上运行的情况。

How do I troubleshoot SSIS packages failed execution in a SQL Agent job?

希望这可以帮助你..

亲切的问候,