rsProcessingError - Reporting Services 錯誤
詳細資料
類別 | 值 |
---|---|
產品名稱 | SQL Server |
事件識別碼 | rsProcessingError |
事件來源 | Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings.resources |
元件 | Reporting Services |
訊息文字 | 報表處理中發生的錯誤。 |
說明
發行、處理、本機預覽、從報表伺服器檢視或建立報表的訂閱時,發生一個或多個錯誤。 這個錯誤訊息表示偵測到至少一個錯誤。
可能的原因
可能的原因包括:
報表伺服器上發生處理錯誤。
在預覽報表時,於處理本機報表期間發生處理錯誤。
群組運算式經判斷為不正確的資料類型。
篩選定義指定了兩個運算式,而這兩個運算式判斷為無法比較的資料類型。
運算式參考了欄位集合中不存在的欄位。
運算式包含具有無效或衝突範圍的彙總函式呼叫。
運算式參考了報表參數集合中不存在的參數。
無法載入未正確部署的自訂組件或 Reporting Services 組件。
Nullable 屬性設定為 False 的參數偵測到參數中有 Null 值。
資料區域之 Hidden 屬性的運算式含有錯誤:物件參考未設定為物件的執行個體。
運算式包含無效的函數呼叫或語法錯誤。
使用者動作
尋找更多資訊
執行下列其中一個或多個動作:
如果要從報表伺服器檢視報表,或是將報表當做訂用帳戶檢視,請查看錯誤訊息的全文。 全文中會提供其他資訊。
如果您正在報表設計工具中撰寫報表,並且在預覽報表時遇到此錯誤,則會提供其他資訊。 [錯誤清單] 視窗包含問題的詳細資料。
如果您正在報表設計工具預覽版中撰寫報表,請查看錯誤訊息的全文。 全文中會提供其他資訊。
如果您在報表伺服器上檢視報表,並以本機管理員身分在報表伺服器上執行,只要以滑鼠右鍵按一下頁面,然後選取 [檢視來源],即可檢視呼叫堆疊。 呼叫堆疊中會提供其他資訊。
如果您正以本機管理員的身分在報表伺服器上執行,請搜尋
ReportProcessingException
的記錄檔。 記錄項目會包含更多資訊。 報表伺服器記錄檔通常位於 <drive>:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\LogFiles\ReportServerService__datetimestamp.log。 如需詳細資訊,請參閱 Reporting Services 記錄檔和來源。
無法載入運算式主機組件
自訂組件必須以強式名稱簽署,並設定 AllowPartiallyTrustedCallers 屬性。 如需詳細資訊,請參閱 搭配使用自訂組件與報表 及 了解安全性原則。
內建的全域名稱不存在
請檢查運算式中的拼字。 內建的全域、參數和欄位名稱都會區分大小寫。 在導致錯誤發生的運算式中,檢查此名稱是否確實存在報表中,而且它的拼字是否正確。 如需詳細資訊,請參閱運算式中的內建集合 (報表產生器和 SSRS)。
參數屬性和 Null
多重值參數不可以是 Null。 如需詳細資訊,請參閱報表參數 (報表產生器和報表設計師)。
無法處理含有子報表的主報表
同一版本的 Reporting Services 報表處理器必須處理具有子報表的報表。 將報表升級至目前版本的報表定義結構描述時,主報表和子報表不一定會同時更新。 如果報表與其子報表之間的版本不相容,就會顯示下列訊息:「無法處理子報表」。
變更主報表或子報表,以便同一版本的報表處理器可處理所有報表。 如需為何報表無法升級的資訊,請參閱 升級報表。
確認函數呼叫是 Visual Basic 而不是 SQL
在關聯式資料庫上,您可以在查詢文字中使用 SQL 函數。 您無法在查詢文字中使用 Visual Basic 函數。
在 Reporting Services中,運算式可以使用 Visual Basic 函數、System.Math
或 System.String
函數、完整 .NET Framework 函數,或是您在自訂程式碼或自訂組件中提供的自訂函數。 您不能在運算式中使用 SQL 函數。
請確認查詢和運算式中的函數呼叫有效。
無法比較篩選的資料類型
在篩選方程式中,定義篩選項目的篩選條件運算式與篩選值必須屬於相同的資料類型,才能進行比較。 如果您看見下列其中一個錯誤,請修改欄位運算式或篩選值,讓資料類型相符:
無法處理 <report item name> 的 <report item type>。 無法比較類型 <type> 和 <type> 的資料。 請檢查 <report item name> 所傳回的資料類型。
無法評估 <屬性名稱>。
無法評估 <屬性名稱>。 其參考具有下列錯誤的資料集欄位:<error string>。
如需詳細資訊,請參閱篩選、分組和排序資料 (報表產生器及 SSRS)。
彙總函式呼叫中的無效或有衝突的範圍規格
當您在 Tablix 資料格中加入運算式的彙總函式呼叫時,報表處理器就會在該資料格所屬之最內部群組的範圍中評估運算式。
您也可以將特定範圍的名稱傳遞給彙總函式。 範圍可以參考資料集的名稱、資料區域或在資料階層中較高範圍的名稱。 此名稱適用於下列訊息:
報表項目類型「報表項目名稱」具有無效的範圍「範圍名稱」。<><><> 範圍必須是目前的範圍,或包含在目前的範圍之內。
<report item type> 的 <property name> 運算式 <report item name> 具有對彙總函數無效的範圍參數。 範圍參數必須設定為字串常數,此字串常數要和所包含的群組名稱、所包含的資料區域名稱或資料集名稱相同。
若為計算累加值的彙總函式 (Previous、 RunningValue或 RowNumber),您可以指定屬於資料列群組名稱或資料行群組名稱的範圍參數,但不可同時屬於這兩者。 此函數適用於下列錯誤訊息:
- 在 <報表項目類型> '<報表項目名稱>' 資料格中使用的 Previous、RunningValue 或 RowNumber 彙總函式,同時參考 <報表項目類型> 的資料行和資料列中的群組範圍。 在 <報表項目類型> 中所有 Previous、RunningValue 和 RowNumber 彙總函式的範圍參數,都可以參考資料列群組或資料行群組,但不可同時參考兩者。
如需詳細資訊,請參閱總計、彙總與內建集合的運算式範圍 (報表產生器及 SSRS) 和運算式中的內建集合 (報表產生器及 SSRS)。
最上層文字輸入框的預設資料集範圍
當報表具有多個資料集時,請勿針對加入至報表設計介面的文字輸入框使用預設範圍。 請使用包含資料集名稱當做範圍的運算式,以及彙總函式。 例如: =First(Fields!FieldName.Value, "DataSet2")
。