我正在使用 dbmail 收集数据并发送电子邮件。作为该电子邮件的一部分,我有一个围绕文本的 url,用于指向带有参数的 SSRS 报告的可点击链接。如果我只有一个参数,我很好。但是,如果我添加参数,则传递 url 时将 & 号替换为“and”。我已经尝试过文本 &、char(38) 和文本 %26,它通过将其转换为单词“and”来解析它。
例如,如果 url 使用
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'>my measure
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>';