KB2263904 - 修正:應用程式在 SQL Server 2008 中呼叫 ReportExecutionService.Render2 方法後,應用程式停止回應 100 秒,然後發生 SoapException 例外狀況 Reporting Services

Microsoft 會發佈 Microsoft SQL Server 2008 修正程式作為一個可下載的檔案。 由於修正程式是累積式,因此每個新版本都包含所有 Hotfix 和先前 SQL Server 2008 修正程式版本中包含的所有安全性修正程式。

症狀

請考慮以下案例:

  • 您在電腦上安裝 Microsoft SQL Server 2008 Reporting Services (SSRS 2008) 。
  • 您將 SQL Server 2008 Reporting Services 設定為在 SharePoint 整合模式中執行。
  • 您執行的應用程式使用 ReportExecutionService Proxy 的 Web 參考。 此應用程式會呼叫 ReportExecutionService.Render2 方法以產生特定格式的 SSRS 報告。 會為報表查詢大量資料。

在此案例中,應用程式會停止回應 100 秒,然後應用程式會在產生報表時遇到 SoapException 例外狀況。 此外,您收到下列錯誤訊息:

注意

System.Web.Services.dll 中發生類型「System.Web.Services.Protocols.SoapException」的第一次可能例外狀況
建立報表時發生錯誤 System.Web.Services.Protocols.SoapException: 伺服器無法處理要求。 ---> 作業已逾時
位於 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
位於 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (String methodName, Object[]
參數)

      

原因

發生此問題的原因是當 SSRS 2008 設定為在 SharePoint 整合模式中執行時, ReportExecutionService Proxy 的 HTTPWebRequest 物件在 100 秒之後逾時。

解決方式

累積更新資訊

SQL Server 2008

此問題的修正程式最初在 SQL Server 2008 Service Pack 1 的累積更新 11 中發行。

如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2413738 SQL Server 2008 Service Pack 1 累積更新套件 11 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式都包含在上一個 SQL Server 2008 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 發行 SQL Server 2008 Service Pack 1 之後所發行的 SQL Server 2008 組建Microsoft SQL Server會為特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 1 Hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2008 Service Pack 2

此問題的修正程式最初在 SQL Server 2008 Service Pack 2 的累積更新 2 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2467239 SQL Server 2008 Service Pack 2 累積更新套件 2 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式都包含在上一個 SQL Server 2008 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 SQL Server 2008 Service Pack 2 發行之後所發行的 SQL Server 2008 組建Microsoft SQL Server會為特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 2 Hotfix 套用至 SQL Server 2008 Service Pack 2 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

因應措施

若要暫時略過這個問題,請使用下列其中一個方法。

  • 呼叫 URLAccess 方法以建立沒有逾時值的自訂 HTTPWebRequest 物件。
  • 請等候 SSRS 快取中提供報表,然後呼叫 Render2 方法。

附註:發生這個問題之後,報告可能會在 SSRS 的快取中提供。

參考資料

如需有關 ReportExecutionService.Render2 方法的詳細資訊,請造訪下列 Microsoft Developer Network (MSDN) 網站:

關於 ReportExecutionService.Render2 方法的一般資訊如需有關 SQL Server 累加式服務模型的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)

如需有關 SQL Server 更新命名架構的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

822499 Microsoft SQL Server 軟體更新套件的新命名架構如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft知識庫」中的文章:

824684 描述Microsoft軟體更新所使用的標準術語說明