I am querying ReportServer database where SSRS metadata is stored in a field called Subscriptions.ExtensionSettings
datatype NTEXT
. The data values looks like XML-style text with [Name] and [Value] tags
such as: <Name>TO</Name>
, <Name>CC</Name>
, <Name>RenderFormat</Name>
, and <Value>Some text data here</Value>
. The text Values for each Name tag will sometimes have a line break.
Is there a SELECT statement that can query the NTEXT field to pull the separate field values out for each record-- [TO], [CC], [RenderFormat]?
In my search to this answer I have looked at these posts: SQL Query: Grouping by an ntext field; ntext/text/image datatypes in SQL server 2016 CTP 3
Sample data...
DECLARE @TableData as table (
DeliveryExtension nvarchar(260), ExtensionSettings ntext
)
INSERT INTO @TableData VALUES
('Report Server Email', '<ParameterValues><ParameterValue><Name>TO</Name><Value>name.one@companyinc.com; name.two@companyinc.com; name.3@companyinc.com</Value></ParameterValue><ParameterValue><Name>CC</Name><Value>name.four@companyinc.com; name.five@companyinc.com</Value></ParameterValue><ParameterValue><Name>IncludeReport</Name><Value>True</Value></ParameterValue><ParameterValue><Name>RenderFormat</Name><Value>EXCELOPENXML</Value></ParameterValue><ParameterValue><Name>Subject</Name><Value>@ReportName was executed at @ExecutionTime</Value></ParameterValue><ParameterValue><Name>Comment</Name><Value>Any undefined category is currently being addressed.</Value></ParameterValue><ParameterValue><Name>IncludeLink</Name><Value>False</Value></ParameterValue><ParameterValue><Name>Priority</Name><Value>NORMAL</Value></ParameterValue></ParameterValues>')
,('Report Server Email', '<ParameterValues><ParameterValue><Name>TO</Name><Value>name.one@companyinc.com; name.two@companyinc.com</Value></ParameterValue><ParameterValue><Name>CC</Name><Value>name.three@companyinc.com</Value></ParameterValue><ParameterValue><Name>IncludeReport</Name><Value>True</Value></ParameterValue><ParameterValue><Name>RenderFormat</Name><Value>EXCELOPENXML</Value></ParameterValue><ParameterValue><Name>Subject</Name><Value>@ReportName was executed at @ExecutionTime</Value></ParameterValue><ParameterValue><Name>Comment</Name><Value>@ReportName
If there any issues with this report please open a ticket for Reporting Services Portal support.</Value></ParameterValue><ParameterValue><Name>IncludeLink</Name><Value>False</Value></ParameterValue><ParameterValue><Name>Priority</Name><Value>NORMAL</Value></ParameterValue></ParameterValues>')
,('Report Server FileShare', '<ParameterValues><ParameterValue><Name>PATH</Name><Value>\\network1234\c$\temp</Value></ParameterValue><ParameterValue><Name>FILENAME</Name><Value>AE Points Report</Value></ParameterValue><ParameterValue><Name>FILEEXTN</Name><Value>True</Value></ParameterValue><ParameterValue><Name>USERNAME</Name><Value>OCSgOkfVICihDFLe9g/oVGCa86jtJJLh2vqiuOYEvtYL1kudnJ6RuGqXlMpxqDz9</Value></ParameterValue><ParameterValue><Name>PASSWORD</Name><Value>f0zrUzblRan6Q9h9iW8FwevA9UKSo3guHz79rx3XG9i+OdAj3LxLaf659MJT0ZjE</Value></ParameterValue><ParameterValue><Name>RENDER_FORMAT</Name><Value>EXCELOPENXML</Value></ParameterValue><ParameterValue><Name>WRITEMODE</Name><Value>Overwrite</Value></ParameterValue><ParameterValue><Name>DEFAULTCREDENTIALS</Name><Value>False</Value></ParameterValue></ParameterValues>')
select
DeliveryExtension
, ExtensionSettings
from @TableData
Desired result...
+-------------------------+--------------------------------------------------+----------------------------+--------------+
| DeliveryExtension | TO | CC | RenderFormat |
+-------------------------+--------------------------------------------------+----------------------------+--------------+
| Report Server Email | name.one@companyinc.com; | name.four@companyinc.com; | EXCELOPENXML |
| | name.two@companyinc.com; name.3@companyinc.com | name.five@companyinc.com | |
+-------------------------+--------------------------------------------------+----------------------------+--------------+
| Report Server Email | name.one@companyinc.com; | name.three@companyinc.com | EXCELOPENXML |
| | name.two@companyinc.com | | |
+-------------------------+--------------------------------------------------+----------------------------+--------------+
| Report Server FileShare | | | PDF |
+-------------------------+--------------------------------------------------+----------------------------+--------------+