【问题标题】:Using SSIS as a datasource for Reporting Services使用 SSIS 作为 Reporting Services 的数据源
【发布时间】:2009-04-22 13:51:03
【问题描述】:

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

  • SQL 服务器
  • 集成服务
  • 报告服务

在 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.

有没有人遇到过类似的问题或解决了这个问题? 谢谢。

【问题讨论】:

  • 我遇到了同样的问题,我已经构建了一个 32 位环境,但在 32 位和 64 位环境中我都遇到了同样的错误。你们自己解决了这个问题吗?我使用的 SSRS 帐户是盒子上的管理员。
  • 你们解决了这个问题吗?我的设置几乎相同(我有 Windows Server 2008 64 位)。我尝试了所有可以在内部网络上找到的东西 - 没有任何效果。 SSIS 包的事件查看器显示相同的错误。我尝试从命令行使用 32 和 64 版本的 DTEXEC 运行该程序包 - 没有问题。如果您可以分享可能的解决方案,我会很高兴。

标签: sql-server reporting-services ssis


【解决方案1】:

这有点摸不着头脑,但是 Reporting Services 在哪个服务帐户下运行?

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

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

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

对此进行测试的最简单方法是将 SSRS 服务帐户(和执行帐户,如果已配置)更改为已知可以运行 SSIS 包的帐户 - 就像您自己的一样。如果这不可能,您可能需要考虑将保存源文本文件的文件夹的权限授予服务/执行帐户。

【讨论】:

  • 我自己也是这么想的。我将服务和执行帐户都更改为以我自己的身份运行。这并没有解决问题。在服务器上以我自己的身份登录时,我可以很好地执行包。我开始认为这可能与它是 64 位安装有关,显然有两个版本的 dtexec(32 位和 64 位)。
  • 我们在使用操作系统命令的 64 位机器上也遇到过类似的问题;通常我们通过明确选择 32 位版本来绕过它们。由于 SSRS 使用 .Net 框架来触发 SSIS,我不确定是否可以在不将 SSRS 安装降级到 32 位的情况下强制它使用 32 位版本。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2015-07-29
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    相关资源
    最近更新 更多