我正在尝试将经典asp页面中的变量传递给ssrs。当我为参数输入文字值时,例如296,它可以正常工作。但我想放入一个由URL发送的变量,以便它以不同的方式为不同的登录人员工作。因此,而不是http://servername.net/reportserver....rs:Command=Render&Agency=296的URL(对于编号为296的代理商) )我想使用我已经设置的人员代理的变量。让我们说变量是pAgency。我已经尝试过Agency =“@pAgency(我将pAgency =设置为登录的人的代理商)和各种其他组合,并搜索了网络,但没有找到答案。我甚至尝试了会话变量但是,没有你必须能做到这一点但是......
感谢您提供任何帮助。干杯!
答案 0 :(得分:0)
根据我的知识,这不是休息URI的工作方式。您需要构建字符串并首先完全形成它,而不是在其上定义变量。你可以在代码中做某些事情(使用HTML Form作为基础)
在下面的例子中,有四个明确的事情要理解:
一个。表单中的“操作”必须是报表的Web服务位置,并自行发布。 (或者你可以做一个iframe元素,但我并没有那么多)
B中。 'input'元素是基于文本的,但你必须将id和name与传入参数的名称相匹配。
℃。 'select'元素为用户提供了保存方法选项,可以直接输出到常见类型。
d。 “提交”类型的“输入”确保表单将使用规定的数据发布到自身。
<!DOCTYPE HTML>
<html>
<head>
<title>SSRS Tester</title>
</head>
<body>
<form id="SSRSRender" action="http:// (reportservername)/ReportServer?/(pathtoreport)" method="post" target="_self">
<H3>Enter some detail for the report to render</H3>
My Variable 'Test': <input type="text" id="Test" name="Test">
<br/>
My outputs:
<select ID="rs:format" name="rs:format" size=1>
<option value="HTML4.0">HTML 4</option>
<option value="IMAGE">Tiff Image</option>
<option value="PDF">PDF</option>
</select>
<br/>
<input type="submit" value="Render Report">
</form>
</body>
</html>
如果您想要更多类型的输入变量来动态地使SSRS在SSRS登录页面之外呈现,您需要确定是否要使用:
尝试以编程方式创建休息URI最好通过联系服务并使用内置方法IMHO而不是尝试创建字符串来完成。这可能是一个学习曲线,但它最终会帮助你。