1

我们有提供数据的中间层。我们正在尝试编写自定义数据提供程序。我已经覆盖了 SYStem.Data 命名空间的接口,例如 IDbCommand、IdbConnection 和生成的 dll。

我们想注册 dll。所以,它应该列在 ssrs 的数据源类型窗口中。

我们无法注册它。任何人都可以帮忙吗?

4

1 回答 1

4

开发设置

在您的开发机器上,您的数据扩展的 DLL 需要安装在 Visual Studio 目录中。这将是这样的:

C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies

在同一文件夹中,您需要将数据扩展添加到RSReportDesigner.config,如下所示: 在该<Extensions> <Data>部分中,添加以下行:

<Extension Name="MyDataExtension" Type="My.Name.Space.MyDataExtensionClass"/>

在该<Extensions> <Designer>部分中,添加以下行:

<Extension Name="MyDataExtension" Type="Microsoft.ReportingServices.QueryDesigners.VDTQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>

您可能还需要添加Full Trust数据扩展才能正常运行。编辑RSPreviewPolicy.config并添加以下代码安全组:

<CodeGroup class="UnionCodeGroup"
    version="1"
    PermissionSetName="FullTrust"
    Name="MyDataExtensionCodeGroup"
    Description="Code group for my data processing extension">
    <IMembershipCondition class="UrlMembershipCondition"
        version="1"
        Url="C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\MyDataExtension.dll"
    />
</CodeGroup>

现在您可以在 Visual Studio 中使用您的数据处理扩展。

服务器设置

在 Reporting Services 服务器上,数据扩展 DLL 需要安装在 SQL Server Reporting Services 目录中。这将是这样的:

C:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting Services\ReportServer\bin

ReportServer目录上方的主目录中,bin您需要将数据扩展添加到RSReportServer.config。在该<Extensions> <Data>部分中,添加以下行:

<Extension Name="MyDataExtension" Type="My.Name.Space.MyDataExtensionClass"/>

要给予 DLL 完全信任,请编辑RSSrvPolicy.config并添加以下代码安全组:

<CodeGroup class="UnionCodeGroup" 
    version="1"
    PermissionSetName="FullTrust"
    Name="MyDataExtensionCodeGroup"
    Description="Code group for my data processing extension">
    <IMembershipCondition class="UrlMembershipCondition"
        version="1"
        Url="C:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting Services\ReportServer\bin\MyDataExtension.dll"
    />
</CodeGroup>
于 2013-05-22T01:27:02.350 回答