使用 ODBC 连接到 SQL SERVER 时,SSRS 错误必须声明标量变量

Hol*_*st4 4 parameters odbc dataset reporting-services sql-server-2014

我有一个 SSRS 数据集查询,其中包含一个名为 BENEFIT 的单值参数。我的数据源是 SQL SERVER 2014:以下查询给出错误“错误 [42000] [Microsoft][SQL Server Native Client 10.0][SQL Server]必须声明标量变量“@BENEFIT”。

SELECT  c.BENEFIT  FROM  CLAIM AS c
WHERE c.DOWNLOAD_DATE > '20150701' AND c.BENEFIT = (@ BENEFIT)
Run Code Online (Sandbox Code Playgroud)

该错误仅在使用 ODBC 连接时存在,使用直接连接就会消失。如果没有参数,查询将使用任一连接方法正确解析。

任何想法表示赞赏。

谢谢,阿拉斯代尔

Pic*_*llo 5

ODBC 不支持命名参数,因此请尝试将参数名称更改为?

SELECT c.BENEFIT FROM CLAIM AS c WHERE c.DOWNLOAD_DATE > '20150701' AND c.BENEFIT = ?

更多信息请参见:https://msdn.microsoft.com/en-us/library/yy6y35y8 (v=vs.90).aspx

请注意“通过 OleDbCommand 或 OdbcCommand 使用参数”部分。