I'm fairly new to SSRS and after a long search on the internet I would ended up here trying to get a response. Is it possible to modify the body content of the e-mail with the 2008 R2 version of SSRS. I'm actually using this exactly tags on the RSreportserver.config.
<RSEmailDPConfiguration>
<SMTPServer>mySMTPServer.Adventure-Works.com</SMTPServer>
<SMTPServerPort></SMTPServerPort>
<SMTPAccountName></SMTPAccountName>
<SMTPConnectionTimeout></SMTPConnectionTimeout>
<SMTPServerPickupDirectory></SMTPServerPickupDirectory>
<SMTPUseSSL></SMTPUseSSL>
<SendUsing>2</SendUsing>
<SMTPAuthenticate></SMTPAuthenticate>
<From>my-rs-email-account#Adventure-Works.com</From>
<EmbeddedRenderFormats>
<RenderingExtension>MHTML</RenderingExtension>
</EmbeddedRenderFormats>
<PrivilegedUserRenderFormats></PrivilegedUserRenderFormats>
<ExcludedRenderFormats>
<RenderingExtension>HTMLOWC</RenderingExtension>
<RenderingExtension>NULL</RenderingExtension>
</ExcludedRenderFormats>
<SendEmailToUserAlias>True</SendEmailToUserAlias>
<DefaultHostName></DefaultHostName>
<PermittedHosts>
<HostName>Adventure-Works.com</HostName>
<HostName>hotmail.com</HostName>
</PermittedHosts>
</RSEmailDPConfiguration
Related
I am working in the database for Manager Plus on SQL Server 2008 R2. The user wants to see the note associated with a work order on a report, but the note is surrounded by what might either be CSS or HTML.
{\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\fnil Tahoma;}} {\colortbl ;\red0\green0\blue0;} {*\generator Riched20 10.0.15063}\viewkind4\uc1 \pard\widctlpar\f0\fs22\lang1033 Troubleshooting two wires was disconnected and was connected back inside of the power supply. Also working with the outside technicians.\line\par \pard\cf1\f1\fs16\par }
The real note starts with "Troubleshooting" and ends with "technicians.". Is there a way in SQL to parse out the note itself?
I have hundreds of reports that are deployed in MSSQL reporting server. In which few of the reports has embedded datasource and the rest has shared datasource. Is there is any query or easy method to differentiate the reports that have shared and embedded datasource?
You can use the following query:
WITH XMLNAMESPACES(DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition')
SELECT C.Name,
CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)).exist('/Report/DataSources/DataSource/ConnectionProperties') AS EmbeddedSourcePresent,
CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)).exist('/Report/DataSources/DataSource/DataSourceReference') AS SharedSourcePresent
FROM ReportServer.dbo.Catalog C
WHERE C.Content is not null
AND C.Type = 2
You might need to change your namespace according to your ssrs version. I hope this helps.
Is it possible to get the files for a deployed reports ON SSRS 2005?
On of our developers deployed them to the Reporting Server, but didn't commited his changes to SVN. Now we are in an inconsistent state and we also can't find the files he created.
In Report Manager (usually the URL ends with /Reports or /Reports_instanceName ) You can look at the details of reports. The Edit button will allow you to download the .rdl definition files.
From
http://msdn.microsoft.com/en-us/library/ms156032(v=sql.90).aspx
In the Report Definition section, click Edit to extract a copy of the report definition. Modifications that you make locally to the report definition are not saved on the report server.
(I should have also noted, the interface and the button name change in SSRS 2008, so these instructions are specific to SSRS 2005.)
use ReportServer
go
create view vwReportDataSet_SharedDataSet_Mapping
as
select ds.itemid, ds.name as Report_DataSource,
cat.name as Shared_DataSource
from datasets ds
inner join catalog cat on ds.linkid = cat.itemid
go
create view vwSharedDataset_Usage
as
select cat.path,
cat.name,
cat.type,
ds.Report_DataSource,
ds.Shared_DataSource
from
catalog cat
left join vwReportDataSet_SharedDataSet_Mapping ds
on cat.itemid = ds.itemid
This SQL gives you your report dataset usage.
select * from vwSharedDataset_Usage
where type = 2
and path like '/SIT/%'
and name in ('Report1','Report2')
I have designed a SSRS report having multiple sub-reports. The report is working fine but displaying data for all records.
But my need is to make it context sensitive.
Below is the query for the main report.
SELECT Filterednew_franchisee.new_franchiseeid,
Filterednew_franchisee.new_name,
Filterednew_monthlypayment.new_insurance
FROM Filterednew_franchisee
INNER JOIN Filterednew_monthlypayment
ON Filterednew_franchisee.new_franchiseeid =
Filterednew_monthlypayment.new_franchiseeid
WHERE (Filterednew_monthlypayment.new_yearmonth =
#reportyear + #reportmonth)
AND (Filterednew_franchisee.new_franchiseeid IN
(select new_franchiseeid
from Filterednew_franchisee as CRMAF_Filterednew_franchisee))
Sub-reports are using the fields from the above query as parameter.
Am I missing something ? Is there any other approach that needs to be followed? Is it really possible to design a context sensitive report having multiple sub-reports?
Please help.
Yes, context-sensitive reports are possible. The name Filtered as in Filterednew_franchisee refers to a SQL Server view that is designed for the sake of security roles. To gain access to context-sensitive views, the API takes an arbitrary prefix called CRMAF_ and translates it into a context-sensitive query.
Thankfully, the SDK includes a sample view (which I've copied below).
SELECT
CRMAF_FilteredActivityPointer.activitytypecodename as activitytypecodename,
CRMAF_FilteredActivityPointer.regardingobjectidname as regardingobjectidname,
CRMAF_FilteredActivityPointer.subject as subject,
CRMAF_FilteredAccount.name
FROM FilteredActivityPointer AS CRMAF_FilteredActivityPointer
INNER JOIN FilteredAccount As CRMAF_FilteredAccount on
CRMAF_FilteredAccount.accountid =
CRMAF_FilteredActivityPointer.regardingobjectid
We are running into the well-documented problems with localizing our SSRS reports.
Can anyone recommend an alternative? Presume parity (or nearly so) with SSRS' functionality, though a great many of our reports will be simple grids or graphs, with some header/footer text. We want a means by which we can easily identify localizable strings, store them in a database, translate them, and then generate the localized "report definition" at deployment time. The Spanish see Spanish reports, the Italians see Italian reports, etc.
Thanks everyone.
There's a book called "Microsoft SQL Server Reporting Services Recipes" that has a few pages dedicated to how to localize SSRS reports. The only limitation is that parameter prompt text can still only show a single language (as it doesn't allow expressions); if you're accessing reports via a client though then it won't be an issue.
It involves creating a custom assembly in VS that has a main function that does the translation (using localization resource files, in much the same way you'd do it for an application).
Then you override the report's OnInit in custom code to initialise the custom assembly resource manager with the report name (so it knows which set of strings to look up, I suppose), and then instead of using "Name: " text in your report, you can use =Code.my_localizer.GetLocalText("Name")
try to put some parameter on ssrs and create procedure like this:
--TEST
--DECLARE #language int
--SET #language = 2 --1 Italian --2 Spain
--passing language parameter from ssrs report
IF (#language = 1)
SELECT englishNameField1 as italianFieldName1, englishNameField2 as italianFieldName2, englishNameField3 as italianFieldName3
FROM tableName
ELSE
SELECT englishNameField1 as spanishNameField1, englishNameField2 as spanishNameField2, englishNameField3 as spanishNameField3
FROM tableName
WHERE parameterFromSSRS = #language
in report put parameter #language with some expression on UserID (Built-in Fields) to get language(localization)