DBDefence Reporting Service Data Source Extension
Document version 1.0
This DLL is an Reporting Service Data Source Extension DLL
exclusively for Microsoft Reporting Services. After
installation you will have new data source type called "Connection
to blocked database". It behaves like Microsoft SQL Server data
source but accept additional parameters to unlock blocked database
before queries.
It can work in server mode and report designer mode. There are
two files for each mode. Server mode is used to work with reports
(config files is Report Services dir), designer mode is used to
design reports using Visual Studio (config files is Visual Studio
dir).
How to install:
The following assumes that you already have reporting service
installed and running.
- Copy Elitude.ReportingServices.BDataExtension.dll to the report
server. The default location for report server extensions is
C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting
Services\ReportServer\bin.
- Copy the assembly to Report Designer. The default location for
extensions for Report Designer is C:\Program Files\Microsoft Visual
Studio 8\Common7\IDE\PrivateAssemblies.
- Add the following entry to both the RSReportServer.config and
RSReportDesigner.config files under the Data element (the
default location of the RSReportDesigner.config file is C:\Program
Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies, and
the default location for the RSReportServer.config file is
C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting
Services\ReportServer):
<Extension Name="BConn" Type="Elitude.ReportingServices.BDataExtension.BConnection,Elitude.ReportingServices.BDataExtension"/>
|
- To enable the generic query designer for the sample data
processing extension, add the following entry to the
RSReportDesigner.config file under the Designer
element.
<Extension Name="BConn" Type="Microsoft.ReportingServices.QueryDesigners.VDTQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>
|
- Open the report server policy configuration file
(rssrvpolicy.config). The default location for this file is
C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting
Services\ReportServer.
Data processing extensions must be granted full trust,
therefore, add the following code group information to the end of
the code groups section in the configuration file:
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="BConnCodeGroup"
Description="Code group for my BConn data processing extension">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin\Elitude.ReportingServices.BDataExtension.dll"
/>
</CodeGroup>
|
- If you are using the sample data processing extension in Report
Designer, repeat steps 1 and 2 using the Report Designer preview
policy configuration file (rspreviewpolicy.config) and the
following code group:
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="BConnCodeGroup"
Description="Code group for my BConn data processing extension">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\Elitude.ReportingServices.BDataExtension.dll"
/>
</CodeGroup>
|
Note: It is import to place
XML block in the right place for BOTH policy files.
There are several nested <CodeGroup> tags. Place new one right after previous
block ends. For example:
<!-- previous block in the default policy file -->
<CodeGroup class="UnionCodeGroup" version="1"
PermissionSetName="FullTrust"
Name="SharePoint_Server_Strong_Name"
Description="This code group grants SharePoint Server code full trust. ">
<IMembershipCondition class="StrongNameMembershipCondition" version="1"
PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100AFD4A"/>
</CodeGroup>
<!-- new block -->
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="BConnCodeGroup"
Description="Code group for my BConn data processing extension">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\Elitude.ReportingServices.BDataExtension.dll"
/>
</CodeGroup>
|
The default location for the rspreviewpolicy.config
file is C:\Program Files\Microsoft Visual Studio
8\Common7\IDE\PrivateAssemblies.
How to use:
Create connection of the type "Connection to blocked database"
define connection string like as it is Microsoft SQL Server
connection. Add two additional parameters to connection string: bdb
- protected database name , bpwd = protected database password.
Example:
Server=(local);Trusted_Connection=yes;bdb=EncryptedDB;bpwd=cyber
|
Note: Use ; as separator. No
commas.
Troubleshooting:
- At design stage designed can't retrieve field names of
tables
That's normal, design on un-protected database or define fields
manually.
|
- Designer or Report Server can't preview report saying can't
access protected database
| Make sure that DLL is copied to the appropriate place and
.config files properly modified. Place that CodeGroup XML block near to similar blocks in .config
file |
|