我有一个SSRS数据集查询,其中包含一个名为效益的值参数。我的数据源是SQL SERVER 2014:下面的查询给出了错误"ERROR 42000SQLServerNativeClient10.0Must声明标量变量“@收益表”。
SELECT c.BENEFIT FROM CLAIM AS c
WHERE c.DOWNLOAD_DATE > '20150701' AND c.BENEFIT = (@ BENEFIT)此错误仅在使用ODBC连接时存在,并使用直接连接消失。如果没有参数,则查询将使用任一连接方法正确地进行分析。
任何想法都值得赞赏。
谢谢,阿拉斯代尔
发布于 2015-08-26 14:21:16
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的参数”一节。
发布于 2015-11-04 19:13:05
如果在查询中声明变量,则在查询之前为SET NOCOUNT ON,然后在查询后为SET NOCOUNT OFF。如果变量是在查询之外声明的,那么使用?,就像PicoDeGallo声明的那样。
https://stackoverflow.com/questions/32228815
复制相似问题