在MS Reporting Services(SQL Server 2008)中使用参数对ODBC数据源

N8g*_*N8g 1 sql-server odbc sql-server-2008 visual-studio reporting-services

我在Visual Studio中编写一个报表,它接受用户输入参数并针对ODBC数据源运行.我想手动编写查询并让报告服务将where子句的一部分替换为参数值,然后再将其发送到数据库.似乎正在发生的事情是@parmName我假设将被替换实际上是作为SQL语句的一部分发送的.我错过了某处的配置设置或者这根本不可能吗?

我没有在工具中使用过滤器选项,因为这似乎从数据库中带回完整数据集并在SQL Server上进行过滤.

Jor*_*iss 5

听起来您需要将SQL语句视为表达式.例如:

="Select col1, col2 from table 1 Where col3 = " & Parameters!Param1.Value 
Run Code Online (Sandbox Code Playgroud)

如果where子句是字符串,则需要执行以下操作:

="Select col1, col2 from table 1 Where col3 = '" & Parameters!Param1.Value & "'"
Run Code Online (Sandbox Code Playgroud)

重要说明:不要在SQL表达式中使用换行符.如果你这样做,你会收到一个错误.

如果你需要更多的帮助,霍拉回来了.