2013-02-12 128 views
2

我发现了下面的错误在SSRS:如何解决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 =值’ ,在使用了形式'@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

原始错误没有抱怨参数的顺序。它反而说(有点神秘),你不应该在调用过程时混合位置参数和命名参数。

现在有新误区之二更多钞票的原因:

  1. 你必须在调用语句一个错字。
  2. 你在程序本身有一个错字。

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

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

+0

当你说'你在调用语句中有一个类型。' - 你的意思是“错字”吗?谢谢 – Coffee 2013-02-12 23:13:59

+2

是的,我想有时候我错字 - 呃打字比我应该更快... – 2013-02-13 02:38:03