65.9K
CodeProject 正在变化。 阅读更多。
Home

使用自定义程序集创建和部署报表服务

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.15/5 (10投票s)

2007 年 6 月 14 日

4分钟阅读

viewsIcon

90086

自定义程序集和报表服务

引言

使用自定义程序集创建和部署报表服务(分步)

嗯,这真是一场噩梦。我尝试了很多方法,但都无法完成。在浏览互联网时,我看到一篇由 Rod Paddock 撰写的文章(在此),于是决定完全按照他所做的来做,结果成功了。以下是详细的步骤。

背景

背景:在使用 Visual Studio 2003 的报表服务时,我遇到了一个问题,需要根据某些参数值从数据库中获取颜色,并且需要在报表单元格背景属性的表达式中实现。因此,我使用了自定义程序集从数据库中获取颜色。

使用代码

创建自定义程序集的步骤:

1. 创建一个“类库”项目。(必须是类库,否则会遇到问题。)
2. 创建共享的公共函数。(这个函数将用于从报表中获取颜色。)
3. 创建另一个连接到数据库并从表中获取颜色的方法。
4. 在此方法(连接到数据库)的开头写入以下代码。
Dim permission As SqlClientPermission = New SqlClientPermission(PermissionState.Unrestricted)
permission.Assert()

Screenshot - Untitled.jpg

5. 要使用此代码,您需要添加以下类
Imports System.Data.SqlClient
Imports System.Security.Permissions
6. 现在添加到您的 AssemplyInfo.vb 类中。
7. 要使用此,您需要导入“Imports System.Security”
8. 编译它,您的自定义程序集就可以在报表服务中使用。

在 Visual Studio 2003 中将自定义程序集添加到报表(报表服务)的步骤

1. 为您的报表添加自定义库 DLL 的引用。您需要在每个将要使用自定义程序集 DLL(自定义程序集 = DLL)的报表中逐一添加引用。
2. 要添加引用,请转到“报表”->“报表属性”->“引用”->(点击浏览按钮并选择 DLL)->“确定”->“确定”。
3. 无需添加实例名称,因为您将使用自定义程序集的共享函数。
4. 在表达式中添加:=reportHelperLib.rptHelpers.FilterColours(Fields!DkHighStageOrderNo.Value)
5. reportHelperLib 是自定义库的项目名称
6. rptHelpers 是自定义类的类名称
7. FilterColours 是自定义库的共享函数名称。
8. Fields!DkHighStageOrderNo.Value 是参数值,您将使用它从数据库中获取颜色。

在 Visual Studio 中使自定义程序集在报表服务中运行的步骤

1. 关闭 Visual Studio 2003。
2. 将自定义程序集 DLL 复制并粘贴到以下路径
3. C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\PrivateAssemblies (根据您的 Visual Studio 安装情况可能会有所不同)
4. 再次使用您的项目打开 Visual Studio 2003
5. 构建它。它应该可以正确构建而没有错误。
6. 完成后,您应该可以看到报表显示由自定义程序集获取的不同颜色。

部署报表和自定义程序集到报表服务器的步骤

1. 复制自定义程序集 DLL 并将其粘贴到以下文件夹
2. C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin (根据安装情况可能会有所不同)
3. 在您的 Visual Studio 2003 中,转到“项目”->“[项目名称]”属性->
4. 在“部署”下执行以下操作
5. Overwrite Datasource = True
6. TargetFolder = (为您希望部署报表的文件夹命名)
7. TargetServerURL = (您的报表服务器 URL)
8. 完成后按“确定”。
9. 现在转到“构建”->“部署解决方案”。
10. 这将在报表服务器上部署报表。
11. 转到 C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer 12. 首先备份“rssrvpolicy.config”文件。
13. 现在打开 rssrvpolicy.config,在 CodeGroup 下找到最后一个组。
14. 在最后一个组之后添加以下代码

Screenshot - CodeGroup.jpg
<CodeGroup
class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="reportHelperLibSample"
Description="reportHelperLib. ">
<IMembershipCondition
class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\reportHelperLib.dll"
/>
</CodeGroup>

15. 只需更改三个地方:Name、Description 和 Url,无需更改其他任何内容。
16. 根据您的要求更改 Name。
17. 根据您的需要更改 Description。
18. 在此处提供您的自定义程序集路径+名称。路径与上面步骤 2 中复制自定义程序集 DLL 的路径相同(C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin)。
19. 重启电脑。
20. 运行报表服务器并检查报表,它应该能正常运行。
21. 如果您无权在报表服务器上部署报表,或者您需要将这些报表部署到客户端计算机,那么在这种情况下,唯一的区别将是,您将不再从 Visual Studio 2003 部署报表,而是手动转到报表服务器并将报表上传到指定文件夹。其余一切都将相同。


Ali Faraz
软件开发人员
Festival Business Solutions
英国

关注点

请不要忘记留下评论,告诉我如何改进这篇文章。可能有些地方我忽略了,如果您留下评论,我将相应地更新我的文章,这将对其他读者有所帮助。谢谢。

历史

Ali Faraz 是 Festival Business Solutions 的一名软件开发人员,在 .net、sql server 等方面拥有 8 年的经验。

© . All rights reserved.