2013-02-12 136 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