我正在使用dbmail收集数据并发送电子邮件。作为该电子邮件的一部分,我在网址周围有一个文本,用于指向带有参数的SSRS报告的可点击链接。如果我只有一个参数,那很好。但是,如果我添加参数,则将URL传递给与号,并用“和”替换。我尝试了文本&,char(38)和文本%26,并通过将其转换为单词“ and”对其进行了相同的解析。
例如,如果网址是使用
整理的declare @MySQL as varchar(max)='<table><tr><td>
<a href=' + char(39) + 'https://blah/Reports_SSRS/report/subfolder1/Subfolder%20Stuff/report%20Name?svcMeasure=' + cast(met.measureID as varchar(2)) + '&svcProv=' + z.abbrv + char(39) +'>' + measureTitle + '</a></td></tr></table>'
呈现的是 https:// blah / reports_ssrs / report / subfolder1 / subfolder stuff / report name?svcMeasure = 8andsvcProv = brown'>我的测量
set @tableHTML = @tableHTML +
N'<table border="1" cellspacing="1" cellpadding="2"><tr><td colspan="5" bgcolor="#68cbd0"><b>Table Title</b> </td></tr>' +
CAST((SELECT case when rs2.myBG='a' then '#F0FFF0' else '#FFC0CB' end as [@bgcolor],
td = cast(rs2.measureUrl as xml), '',
'center' as 'td/@align',td = '(of '+ convert(varchar(5),rs2.myPeerCount) +')',''
from (blah blah blah)rs2 FOR XML PATH('tr'), TYPE) AS NVARCHAR(MAX) ) + N'</table>';
答案 0 :(得分:0)
使用&
html版本代替&
declare @MySQL as varchar(max)='<table><tr><td>
<a href=' + char(39) + 'https://blah/Reports_SSRS/report/subfolder1/Subfolder%20Stuff/report%20Name?svcMeasure=' + cast(met.measureID as varchar(2)) + '&svcProv=' + z.abbrv + char(39) +'>' + measureTitle + '</a></td></tr></table>'
答案 1 :(得分:0)
我最后要工作的是创建url,但是跳过参数之间的&
http://tada/folder/reportName?param1=blahparam2=blah
然后使用解析为html
td=cast(replace(rs2.measureUrl,'&','and') as xml), '',
然后在发送dbMail之前,执行此操作
set @tableHTML=replace(@tableHTML,'param2','¶m2=')
可能不是犹太洁食,但可以!