使用外部装配的方法结果作为数据集

时间:2013-11-12 19:34:24

标签: reporting-services ssrs-2008

使用SQL2008R2: 我正在尝试创建一个仅仅是外部程序集返回方法的结果的数据集,但是我能找到的关于使用自定义/外部程序集的所有内容只是通过表达式将文本框的值设置为外部程序集的方法的结果。 / p>

我只是希望Report Server在外部程序集中进行数据处理,并将结果绑定到一个非常简单的报告中。

我发现了一些关于MDX的内容,但它们似乎已经过时了几年,需要知道这是否可行。

2 个答案:

答案 0 :(得分:2)

假设您已经拥有.dll - 将您的dll放在报表设计器文件夹(RDL所在的位置)和报表服务器文件夹中,位于此处:

Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin

现在从报告中添加对您的dll的引用 打开报告后,转到报告,报告属性,参考,添加参考,浏览到您的dll并添加它。

现在在文本框属性值中调用dll的方法。看起来应该是这样的:

=MyDllName.ClassName.MyMethodOrSubOrWhatever

这是一篇很棒的文章,可以引导您完成这个:

假设您已经拥有.dll - 将您的dll放在报表设计器文件夹(RDL所在的位置)和报表服务器文件夹中,位于此处:

Program Files \ Microsoft Visual Studio 8 \ Common7 \ IDE \ PrivateAssemblies Program Files \ Microsoft SQL Server \ MSSQL.3 \ Reporting Services \ ReportServer \ bin

现在从报告中添加对您的dll的引用 打开报告后,转到报告,报告属性,参考,添加参考,浏览到您的dll并添加它。

现在在文本框属性值中调用dll的方法。它应该看起来像这样: = MyDllName.ClassName.MyMethodOrSubOrWhatever

这是一篇很棒的文章,可以引导您完成此任务:http://support.microsoft.com/kb/920769

P.S。如果您不希望Web服务器执行繁重的工作,另一个选择是使用存储过程。但是,根据我们对超大型数据库系统的经验,扩展Web服务器比扩展数据库服务器要容易得多,因此我们在Web服务器上做了大量工作。

答案 1 :(得分:2)

如果您需要由自定义.NET代码生成的数据集,您可以设置Web服务(here's a good tutorial),也可以设置自定义"数据处理扩展&#34 ;

数据处理扩展允许您在SSRS报表设计器中选择新数据源,此数据源将运行自定义.NET代码。 full description位于MSDN上,但以下是基本步骤:

  1. 创建新的类库项目
  2. 实施所有必需的扩展(以及任何所需的扩展)
  3. 将DLL复制到SSRS bin文件夹
  4. 编辑SSRS配置文件以注册您的扩展程序(通过指定IDbConnection类的完全限定名称)
  5. 您可以找到CodePlexMicrosoft的工作示例。