如何在c#中注册自定义数据提供程序

本文关键字:数据 程序 自定义 注册 | 更新日期: 2023-09-27 18:14:27

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

我们想要注册dll。因此,它应该在ssrs的数据源类型窗口中列出。

我们无法注册它。有人能帮忙吗?

如何在c#中注册自定义数据提供程序

发展设置

在您的开发机器上,您的数据扩展的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。配置,并添加如下代码安全组:

<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中使用您的数据处理扩展。

服务器设置

在报表服务服务器上,需要在SQL server报表服务目录下安装数据扩展DLL。这将是类似于:

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

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

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

给DLL完全信任,编辑RSSrvPolicy。配置,并添加如下代码安全组:

<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>