Sql server SSIS包没有';t将数据写入excel目标
我有一个简单的SSIS包,我正在尝试将同一组数据从表导出到平面文件和excel目标。当我在本地运行时,该软件包工作正常,它创建了包含数据的文本文件和excel文件 但是,当部署到另一台服务器时,sql代理作业运行良好,包的integrations services目录中的日志显示它向excel中写入了9000行,并且还创建了一个新的excel文件,但它不向其中写入任何数据(空白,只有标题)。文本文件工作正常,它有我需要的所有数据 SSIS包流:Sql server SSIS包没有';t将数据写入excel目标,sql-server,excel,ssis,Sql Server,Excel,Ssis,我有一个简单的SSIS包,我正在尝试将同一组数据从表导出到平面文件和excel目标。当我在本地运行时,该软件包工作正常,它创建了包含数据的文本文件和excel文件 但是,当部署到另一台服务器时,sql代理作业运行良好,包的integrations services目录中的日志显示它向excel中写入了9000行,并且还创建了一个新的excel文件,但它不向其中写入任何数据(空白,只有标题)。文本文件工作正常,它有我需要的所有数据 SSIS包流: 我正在使用Sql server 2014,Vis
我正在使用Sql server 2014,Visual studio 2013和SSDT,并在Excel destination中使用Excel 2007 使用使用Excel对象的计划SSIS包时,我遇到了奇怪的行为 对我来说,修复方法是编辑代理作业属性。在“执行属性”选项卡上,尝试启用“使用32位运行时”选项,并强制SSI以32位模式而不是64位模式运行。我们遇到了相同的问题。 解决方案是,运行SSIS包的用户必须具有对c:\users\default的完全访问权限 您可以通过在执行SSIS作业的计算机上运行sysinternals的进程监视器来检查这一点 您可以在此处找到更多信息:
- -这篇文章让我找到了这个解决方案
- -我的博客。在这里,我描述了这个问题——不幸的是,用德语]
这很奇怪。确实,DTSRun.exe的位必须与它使用的任何OLE DB驱动程序的位匹配,但是32位和64位版本在64位操作系统中都可以正常工作。我尝试在32位模式下运行,它不起作用,而且我们的一个高级环境没有32位模式驱动程序,因此我必须使用64位模式。删除目标连接并添加新的目标管理器。然后在目标管理器中选择目标文件。这可能有用!对于那些建议将SQL代理作业设置为在32位模式下运行的人(这似乎适用于SSIS的几乎所有问题!),我描述的症状将排除该解决方案。毕竟,根据我的经验,它在64位下作为SQL代理工作运行了好几个月,直到突然出现问题。此外,它仍然继续写入同一文件中的所有其他工作表,没有任何问题。很难相信(但不足为奇)这些年来这个问题仍然存在。微软,醒醒!SSIS和Excel是您的孩子——他们应该一起玩得很好!