The manual for DataMatrix Fonts & Encoder 5 includes a chapter on adding datamatrix symbols to SSRS 2008 and prior. The process of adding datamatrix to SSRS 2010 is largely the same, with some differences.
Adding datamatrix to SSRS reports require install of customer assembly. To develop reports with custom assembly support, you need “SQL Server Data Tools (SSDT)”. The SSDT is included in the SQL Server installation disk, or you can download it free at Microsoft web site by searching “SQL Server Data Tools”. SSDT is actually a rebranded Visual Studio, withe version correlation as below.
Product | Version |
---|---|
SQL Server 2010 | Visual Studio 2010 |
SQL Server 2012 | Visual Studio 2013 |
SQL Server 2014 | Visual Studio 2015 |
The other report designer software, Report Designer
does not have the capability to work with custom assembly.
Remember that you cannot just format the string encoded with barcode font to produce a barcode. Instead, the data string must be encoded into a form called “Barcode String” first. The encoder function resides on a DLL written in C++. Unfortunately the report cannot call this DLL directly so we provide a wrapper DLL.
For this tutorial the wrapper DLL is called ReportServicePlugin_DataMatrix5.dll
,
located under C:\Program Files (x86)\Morovia DataMatrix Fonts & Encoder 5
. If you are using
a different product, refer to the manual for the name and the location of the wrapper.
to install the custom assembly, copy the file to C:\Program Files (x86)\Microsoft Visual Studio [version]\Common7\IDE\PrivateAssemblies
directory. Replace [version]
with the actual
Visual Studio version number, for example, 12.0
.
Unlike previous versions, the preview
action now
requires the custom assembly to be defined in the policy file RSPreviewPolicy.conf
. If you do not see this file, you probably
look into the wrong directory, or you did not install SSDT.
Open RSPreviewPolicy.config
file in a text editor
(Run as Administrator),
add the following content just before two ending CodeGroup
tags:
<CodeGroup class="FirstMatchCodeGroup" version="1" PermissionSetName="FullTrust" Name="ReportServicePlugin_DataMatrix5.dll" Description="ReportServicePlugin_DataMatrix5.dll"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\ReportServicePlugin_DataMatrix5.dll" /> </CodeGroup>
Make sure that the file path is correct, and the resulted file is a valid XML file.
We recommend that you run SQL Server Data Tools (SSDT) as Administrator. This allows you to deploy the report from SSDT. The Administrator privilege is not required when designing and previewing reports.
Click on Report1.rdlc
to switch to report design view. Select from menu. Click on Reference and add the reference to the custom assembly.
Now right click on the header of the last column and insert a column on the right. Right click on the text box just created, and select Expressions. Change its value to:
Morovia.ReportService.DataMatrixV5.DataMatrixEncode(Fields!LastName.Value,-1)
You can use the builtin operators and functions to pass more complicated string to the encoder function.
Now Click the Preview
tab. You should see
the datamatrix symbols appearing in the report.
You can use Deploy
menu from SSDT to deploy
the report to the server. However, in order for the server to render
the report, you need to add the custom assembly to the server and
modify policy file rssrvpolicy.config
.
Locate the direcotry of Reporting Server. Usually the directory is like
C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer
. This directory should haverssrvpolicy.config
file andbin
subdirectory.Add the content below to
rssrvpolicy.config
file, just before two endingingCodeGroup
tags:<CodeGroup class="FirstMatchCodeGroup" version="1" PermissionSetName="FullTrust" Name="ReportServicePlugin_DataMatrix5.dll" Description="ReportServicePlugin_DataMatrix5.dll"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\ReportServicePlugin_DataMatrix5.dll" /> </CodeGroup>
if the policy file is configured correctly, you should be able to view the report corrrectly from the browser.