我们有提供数据的中间层。我们正在尝试编写自定义数据提供程序。我已经覆盖了 SYStem.Data 命名空间的接口,例如 IDbCommand、IdbConnection 和生成的 dll。
我们想注册 dll。所以,它应该列在 ssrs 的数据源类型窗口中。
我们无法注册它。任何人都可以帮忙吗?
我们有提供数据的中间层。我们正在尝试编写自定义数据提供程序。我已经覆盖了 SYStem.Data 命名空间的接口,例如 IDbCommand、IdbConnection 和生成的 dll。
我们想注册 dll。所以,它应该列在 ssrs 的数据源类型窗口中。
我们无法注册它。任何人都可以帮忙吗?
开发设置
在您的开发机器上,您的数据扩展的 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>