我们有提供数据的中间层。我们正在尝试编写自定义数据提供程序。我已经覆盖了SYstem.Data命名空间的接口,如IDbCommand,IdbConnection和生成的dll。
我们想注册dll.So,它应该在ssrs的数据源类型窗口中列出。
我们无法注册。有人可以帮忙吗?
答案 0 :(得分: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服务器上,需要在SQL Server Reporting Services目录中安装数据扩展DLL。这将是:
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>