4

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

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

我发现了一些关于 MDX 的参考资料,但它们似乎已经过时了几年,需要知道这是否可能。

4

2 回答 2

2

如果您需要由自定义 .NET 代码生成的数据集,您可以设置 Web 服务(这里有一个很好的教程),或者您可以设置自定义“数据处理扩展”。

数据处理扩展将允许您在 SSRS 报表设计器中选择新数据源,并且此数据源将运行自定义 .NET 代码。完整的描述在 MSDN 上,但这里是基本步骤:

  1. 创建一个新的类库项目
  2. 实现所有必需的扩展(以及任何所需的可选扩展)
  3. 将 DLL 复制到 SSRSbin文件夹
  4. 编辑 SSRS 配置文件以注册您的扩展(通过指定IDbConnection类的完全限定名称)

您可以从CodePlexMicrosoft找到工作示例。

于 2014-05-07T17:10:45.570 回答
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

PS 另一种选择,如果您不希望 Web 服务器承担繁重的工作,则使用存储过程。然而,根据我们对超大型数据库系统的经验,扩展 Web 服务器比扩展数据库服务器要容易得多,因此我们在 Web 服务器上做了很多繁重的工作。

于 2013-11-14T00:42:19.557 回答