使用SSIS作为Reporting Services的数据源

时间:2020-12-19 08:18:32

I have SQL Server 2008 SP1 (64 bit) running

我运行SQL Server 2008 SP1(64位)

  • SQL Server
  • Integration Services
  • Reporting Services

on a Windows 2003 Server (64bit).

在Windows 2003 Server(64位)上。

I'm trying to get Reporting Services to use an integration services package as a datasource. I've created a very simple package that simple reads a text file and loads it into a DataReaderDestination.

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

I have edited the rsreportserver.config file as documented here: http://msdn.microsoft.com/en-us/library/ms345250.aspx

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

Now I can design and sucessfully preview a report in Business Intelligence Design Studio on a remote machine. However when I publish the report (and copy over the SSIS package and the source file to the server), when I attempt to run the report I get:

现在,我可以在远程计算机上的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.

If I switch on logging. It is clear that the package gets called but is failing:

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

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.

Has anyone experiencied similar problems or got this to work? Thanks.

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

2 个解决方案

#1


This is a bit of a shot in the dark, but under which service account is Reporting Services running?

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

When used as a data source, the SSIS package executes under the security context of the SSRS service. Since the package is so simple and it is failing during validation, it suggests that something fairly basic is wrong.

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

Reporting Services installations can optionally be configured with a low-security execution account under which reports are run. When this is set up, I'm not sure whether the SSIS package will be run under the service account or the execution account.

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

A security issue would also account for the package running successfully in the designer (under your security context), but not when deployed.

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

The easiest way to test this will be to change the SSRS service account (and execution account, if configured) to one under which the SSIS package is known to run - like your own. If that's not possible, you may need to look at granting permissions on the folders where the source text file is held to the service/execution account.

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

#2


I installed SP2 for SQL Server 2008 x64 and it solved the issue.

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

#1


This is a bit of a shot in the dark, but under which service account is Reporting Services running?

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

When used as a data source, the SSIS package executes under the security context of the SSRS service. Since the package is so simple and it is failing during validation, it suggests that something fairly basic is wrong.

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

Reporting Services installations can optionally be configured with a low-security execution account under which reports are run. When this is set up, I'm not sure whether the SSIS package will be run under the service account or the execution account.

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

A security issue would also account for the package running successfully in the designer (under your security context), but not when deployed.

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

The easiest way to test this will be to change the SSRS service account (and execution account, if configured) to one under which the SSIS package is known to run - like your own. If that's not possible, you may need to look at granting permissions on the folders where the source text file is held to the service/execution account.

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

#2


I installed SP2 for SQL Server 2008 x64 and it solved the issue.

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