sql-server - 如何解决 SSRS 中的 "incorrect syntax near ' =' "错误?

标签 sql-server reporting-services ssrs-2008

我在 SSRS 中收到以下错误:

An error occurred during local report processing.
An error has occurred during report processing.
Query execution failed for dataset 'Dataset1'.
incorrect syntax near '=' 

在此错误之前,我收到一个错误,提示参数顺序(“必须将参数号 3 和后续参数作为“@name = value”传递,在使用“@name = value”形式之后,所有后续参数参数必须以“@name = value”的形式传递。)..我通过更改参数的顺序修复了这个问题(基本上我将开始/结束日期放在其他参数之后)。

exec [dbo].[prc_RPT_Select_BI_Completes_Data_View_tst]

@AccountIDs  = NULL,
@ClientIDs  = NULL,
@SupplierIDs  = NULL,
@FromDate = '19001010',      
@ToDate = '19001110',
@CompleteType = NULL,
@SourceType = NULL,
@SurveyStatus = NULL,
@IsSupplierUser = NULL

enter image description here

如何解决这个问题?事实上,存储过程。整个动态sql都会影响这个吗?

此外,当我在 SSMS 中手动运行此命令时:

exec [dbo].[prc_RPT_Select_BI_Completes_Data_View_tst] '20121010', '20121011', null,null,null,null,null,null 

然后就可以正常工作了。那么这可能与SSRS有关吗?

最佳答案

最初的错误并没有提示参数的顺序。相反,它指出(有点神秘)调用过程时不应混合位置参数和命名参数。

现在有两个可能的原因导致新错误:

  1. 您的调用语句中有拼写错误。
  2. 您的程序本身有一个拼写错误。

尝试获取发送到数据库的确切语句并在 SSMS 中手动运行它。那应该告诉你更多。我确实注意到您在两个示例中使用了不同的参数值。

如果您无法解决此问题,请运行 SQL Server Profiler 跟踪,捕获已启动的存储过程语句、已完成的存储过程语句以及运行报告时的用户错误。在那里您应该能够看到导致错误的确切语句。

关于sql-server - 如何解决 SSRS 中的 "incorrect syntax near ' =' "错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14823757/

相关文章:

reporting-services - 查询包含未声明的 XXXXXName 参数。 SSRS2008/MDX 查询

sql-server - 从报告数据库中提取 SSRS RDL 文件

sql - 有没有一个重构 SQL 的工具,有点像 ReSharper for SQL

sql - 如何将 xml 数据从一个存储过程传递到另一个存储过程?

mysql - 使用 mySQL 数据源创建 SSRS 报告

sql - 有没有办法查询将来的SSRS订阅时间表?

c# - 在 C# 中执行更新存储过程

php - Sql 字符串查询不起作用

sql-server - SSRS 2008 : Passing Parameters to linked report

sql-server - 在 TSQL 中重新创建 SSRS 数据源以进行测试