使用SSIS作为Reporting Services的数据源

时间:2009-04-22 13:51:04

标签: sql-server reporting-services ssis

我正在运行SQL Server 2008 SP1( 64位

  • SQL Server
  • 整合服务
  • Reporting Services

在Windows 2003 Server(64位)上。

我正在尝试让Reporting Services使用集成服务包作为数据源。我创建了一个非常简单的包,它简单地读取文本文件并将其加载到DataReaderDestination中。

我已经编辑了rsreportserver.config文件,如下所示:http://msdn.microsoft.com/en-us/library/ms345250.aspx

现在,我可以在远程计算机上的Business Intelligence Design Studio中设计并成功预览报表。但是,当我发布报告(并通过SSIS包和源文件复制到服务器)时,当我尝试运行报告时,我得到:

An error occurred during client rendering.
An error has occurred during report processing.
Query execution failed for dataset 'DataSet1'.
The package failed to execute.

如果我打开日志记录。很明显,包被调用但是失败了:

OnPreValidate,LLPEDIA014,LLPDEV\testuser,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:30,22/04/2009 14:22:30,0,0x,(null)
OnPreValidate,LLPEDIA014,LLPDEV\testuser,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:30,22/04/2009 14:22:30,0,0x,(null)
PackageStart,LLPEDIA014,LLPDEV\testuser,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:30,22/04/2009 14:22:30,0,0x,Beginning of package execution.

Diagnostic,LLPEDIA014,LLPDEV\testuser,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:30,22/04/2009 14:22:30,0,0x,Based on the system configuration, the maximum concurrent executables are set to 4.

OnPreExecute,LLPEDIA014,LLPDEV\sqlAdmin,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:30,22/04/2009 14:22:30,0,0x,(null)
OnError,LLPEDIA014,LLPDEV\sqlAdmin,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:30,22/04/2009 14:22:30,-1073450954,0x,component "DataReaderDest" (1) failed initialization and returned error code 0x8007000E.

OnError,LLPEDIA014,LLPDEV\sqlAdmin,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:31,22/04/2009 14:22:31,-1073594105,0x,There were errors during task validation.

OnWarning,LLPEDIA014,LLPDEV\sqlAdmin,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:31,22/04/2009 14:22:31,-2147381246,0x,SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED.  The Execution method succeeded, but the number of errors raised (3) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.

OnPostExecute,LLPEDIA014,LLPDEV\sqlAdmin,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:31,22/04/2009 14:22:31,0,0x,(null)
PackageEnd,LLPEDIA014,LLPDEV\testuser,TestPackage2,{3449E63D-6CF5-416A-9E16-B02F78994AFB},{227463EE-5D0C-4871-A9A6-5EFE7DFF48FD},22/04/2009 14:22:31,22/04/2009 14:22:31,1,0x,End of package execution.

有没有人遇到类似的问题或让这个问题起作用? 感谢。

2 个答案:

答案 0 :(得分:2)

在黑暗中这是一个镜头,但在哪个服务帐户运行Reporting Services?

当用作数据源时,SSIS包在SSRS服务的安全上下文中执行。由于软件包非常简单并且在验证期间失败,因此它表明相当基本的东西是错误的。

可以选择使用低安全性执行帐户配置Reporting Services安装,在该帐户下运行报告。设置此项后,我不确定SSIS包是否将在服务帐户或执行帐户下运行。

安全问题还会考虑在设计器中成功运行的程序包(在您的安全上下文中),但在部署时则不行。

最简单的测试方法是将SSRS服务帐户(和执行帐户,如果已配置)更改为已知SSIS包运行的帐户 - 就像您自己的一样。如果无法做到这一点,您可能需要查看对源文本文件所在的文件夹授予服务/执行帐户的权限。

答案 1 :(得分:1)

我为SQL Server 2008 x64安装了SP2,它解决了这个问题。