我有一个简单的SSIS包,我试图将同一组数据从表导出到平面文件和excel目的地 . 当我在本地运行时,该包工作正常,它创建包含数据的文本文件和excel文件 .
但是当部署到不同的服务器时,sql代理作业运行正常,并且该软件包的日志内部集成服务目录表示它编写了类似于9000行的Excel,并且还创建了一个新的excel文件,但它没有向其写入任何数据(空白只有 Headers ) . 文本文件工作正常,它具有我需要的所有数据 .
SSIS包流程:
我正在使用Sql server 2014,带有SSDT的Visual Studio 2013,并在Excel目标中使用Excel 2007 .
2 回答
我们遇到了同样的问题 . 解决方案是运行SSIS包的用户必须具有对c:\ users \ default的完全访问权限 .
您可以通过在执行SSIS作业的计算机上运行sysinternals的进程监视器来检查此问题 .
您可以在这里找到更多信息:
Empty Excel File permissions issue: SSIS Excel Destination buffers large record sets through C:\Users\Default - 这篇帖子让我找到了这个解决方案
https://www.csopro.de/biblog/2018/04/ssis-fehlerbehebung-bei-excel-destination-schreibt-keine-zeilen/ - 我的博客 . 在这里我描述了这个问题 - 不幸的是在德语中]
在使用使用Excel对象的计划SSIS包时遇到了奇怪的行为 .
对我来说,修复是编辑代理作业属性 . 在“执行属性”选项卡上,尝试启用“使用32位运行时”选项并强制SSIS以32位模式而不是64位模式运行 .