Deploying a Data Processing Extension to a Report Server
Report servers use data processing extensions for retrieving and processing data in rendered reports. You should deploy your data processing extension assembly to a report server as a private assembly. You also need to make an entry in the report server configuration file, RSReportServer.config.
To deploy a data processing extension assembly
Copy your assembly from your staging location to the bin directory of the report server on which you want to use the data processing extension. The default location of the report server bin directory is %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<Instance Name>\Reporting Services\ReportServer\bin.
This step will prevent an upgrade to a newer instance of SQL Server. For more information, see Upgrade and Migrate Reporting Services.
After the assembly file is copied, open the RSReportServer.config file. The RSReportServer.config file is located in the ReportServer directory. You need to make an entry in the configuration file for your data processing extension assembly file. You can open the configuration file with Visual Studio or a simple text editor, such as Notepad.
Locate the Data element in the RSReportServer.config file. An entry for your newly created data processing extension should be made in the following location:
<Extensions> <Data> <Your extension configuration information goes here> </Data> </Extensions>
Add an entry for your data processing extension. Your entry should include an Extension element with values for Name and Type and might look like the following:
<Extension Name="ExtensionName" Type="CompanyName.ExtensionName.MyConnectionClass, MyExtensionAssembly" />
The value for Name is the unique name of the data processing extension. The value for Type is a comma-separated list that includes an entry for the fully qualified namespace of your class that implements the IExtension and IDbConnection interfaces, followed by the name of your assembly (not including the .dll file extension). By default, data processing extensions are visible. To hide an extension from user interfaces, such as Report Manager, add a Visible attribute to the Extension element, and set it to false.
Add a code group for your custom assembly that grants FullTrust permission for your extension. You do this by adding the code group to the rssrvpolicy.config file located by default in %ProgramFiles%\Microsoft SQL Server\<MSRS10_50.<Instance Name>\Reporting Services\ReportServer. Your code group might look like the following:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="MyExtensionCodeGroup" Description="Code group for my data processing extension"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.<Instance Name>\Reporting Services\ReportServer\bin\MyExtensionAssembly.dll" /> </CodeGroup>
URL membership is only one of many membership conditions you might choose for your data processing extension. For more information about code access security in Microsoft SQL Server 2017 Reporting Services, see Secure Development (Reporting Services).
Verifying the Deployment
You can verify whether your data processing extension was deployed successfully to the report server by using the Web service ListExtensions method. You can also open Report Manager and verify that your extension is included in the list of available data sources. For more information about Report Manager and data sources, see Create, Modify, and Delete Shared Data Sources (SSRS).