开发者社区> 问答> 正文

从SQL Server 2005 Reporting Services报表调用.Net程序集?

我目前在.rdl文件中的代码块中有一组包含许多常用功能的报告。显然这带来了可维护性问题,我想知道是否有人知道这些不同的报告共享通用代码库的方法?

理想情况下,我想将.Net程序集附加到Reporting Services项目中,我的所有报表都可以从中访问和调用函数。这将避免每次需要对通用功能进行更改时尝试更新和重新部署约100个报告的麻烦。

有什么建议么?

展开
收起
心有灵_夕 2019-12-28 22:56:59 842 0
1 条回答
写回答
取消 提交回答
  • 我为此感到非常痛苦,因此希望这对某人有帮助。您可以从MSDN文章中获得它,但以下几点可以帮助您更快地完成任务。

    不要忘记将其添加到您的rssrvpolicy.config文件中:

    <CodeGroup class="UnionCodeGroup"
       version="1"
       PermissionSetName="FullTrust"
       Name="MyCodeGroup"
       Description="Code group for my data processing extension">
          <IMembershipCondition class="UrlMembershipCondition"
             version="1"
             Url="C:\pathtocustomassembly\customassembly.dll"
           />
    </CodeGroup>
    
    

    我忘记这样做了,我讨厌了一段时间。

    另外,不要忘了用新的dll来打以下2005年的以下两个文件夹:

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

    另外,不要在您的程序集中使用log4net。我无法使其工作。也许有人可以但是我却没有。

    另外,如果您像我一样搞乱了,在关闭Visual Studio之前将无法删除文件。

    另外,使您的方法是共享的或静态的。更容易。

    创建一个部署批处理文件。就像是:

    @ECHO OFF
    REM   Name: SRSDeploy_Local.bat
    REM
    REM   This batch files copies my custom assembly to my Reporting Services folders.
    REM
    REM   This is the SQL Server 2005 version:
    copy "C:\Projects\Common\lib\SCI.Common.SSRSUtils.dll" "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies"
    copy "C:\Projects\Common\lib\SCI.Common.SSRSUtils.dll" "C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportServer\bin"
    
    

    最后,在预览之前先生成报告。

    2019-12-28 22:57:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载