Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

本文適用於下列產品:

  • BizTalk 配接器套件 2.0

  • BizTalk 配接器套件 2010

徵狀

當您使用其中一個是包含在 Microsoft BizTalk 配接器套件 2.0 或 Microsoft BizTalk 配接器接收位置上的封包 2010年下列介面卡時,接收位置意外重新啟動:

  • Windows 通訊基礎 (WCF)-SQL 配接器

  • WCF Oracle 配接器

此外,BizTalk Server 可能會遇到ConnectionException例外狀況,以及 BizTalk server 可能後重新啟動其中一個下列的警告會記錄在應用程式記錄檔。

WCF SQL 配接器

警告 1

"""WCF-SQL""的配接器會產生錯誤訊息。 詳細資料 」 「 System.ObjectDisposedException: 無法存取已處置的物件。物件名稱: '交易'.at 在 Microsoft.Adapters.Sql.SqlAdapterInboundHandler.TryReceive 的 System.Transactions.Transaction.Rollback (例外狀況 e) (TimeSpan 逾時,訊息和訊息,IInboundReply 和回覆) 在Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.TryReceive (TimeSpan 等候逾時,訊息和訊息) 在 System.ServiceModel.Dispatcher.InputChannelBinder.TryReceive (TimeSpan 逾時,RequestContext &requestContext) 在 System.ServiceModel.Dispatcher.ErrorHandlingReceiver.TryReceive (TimeSpan 逾時,RequestContext 和 requestContext)"」。"

警告 2

"""WCF-SQL""的配接器會產生錯誤訊息。 詳細資料 」 「 System.TimeoutException: 'System.TimeoutException' 類型的例外狀況是在 thrown.at Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired ()在 Microsoft.Adapters.Sql.SqlAdapterInboundHandler.Polling_WaitForMessage (TimeoutHelper timeoutHelper),在 Microsoft.Adapters.Sql.ExecutionHelper.ExecuteScalar (sql 命令的 sql 命令,TimeoutHelper timeoutHelper)在 Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan 逾時),在 Microsoft.Adapters.Sql.SqlAdapterInboundHandler.WaitForMessage (TimeSpan 逾時)System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (TimeSpan 逾時),在 System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() 「 」。"

WCF Oracle 配接器

警告 1

配接器"WCF Oracle"引發錯誤訊息。 詳細資料 」 Microsoft.ServiceModel.Channels.Common.ConnectionException: 在逾時"00: 02:00"過期時執行函式"WaitForMessage"。 ---> System.TimeoutException: 在逾時"00: 02:00"執行"WaitForMessage"的函式時過期。 在 [在 Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (OracleCommand 命令,TimeoutHelper Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired()timeoutHelper) 在 Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection (在 Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteNonQuery (OracleCommand 命令,OracleCommonExecutionHelper executionHelper)OracleCommonExecutionHelper executionHelper---) 的內部例外狀況堆疊追蹤---在 Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection (OracleCommonExecutionHelper executionHelper) 在結尾在 Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (TimeSpan 逾時),在 Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper)在 System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (TimeSpan 逾時),在 Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan 逾時)System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage()"。

警告 2

配接器"WCF Oracle"引發錯誤訊息。 詳細資料 」 System.TimeoutException: 在逾時"00: 02:00"過期時執行函式"WaitForMessage"。 在 [在 Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (OracleCommand 命令,TimeoutHelper Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired()timeoutHelper) 在 Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (在 Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteScalar (OracleCommand 命令,OracleCommonExecutionHelper executionHelper)OracleCommonExecutionHelper executionHelper,OracleCommonConnectionWrapper 連線) 在 Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper)在 Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan 逾時),在 Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (TimeSpan 逾時)在 System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() 的 System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (TimeSpan 逾時) 」。

原因

接收位置意外重新啟動WaitForMessage方法會產生「 逾時例外狀況時,就會發生這個問題。 在WaitForMessage方法產生「 逾時例外狀況時,呼叫TryReceive方法,並再 WCF SQL 配接器或 WCF Oracle 配接器復原交易。 然而,復原作業可能會產生ObjectDisposedException例外狀況。 因此,就會產生其中一個 「 徵狀 > 一節所述的警告。

解決方案

累積更新資訊

BizTalk 配接器套件 2010

解決這個問題的 hotfix 會併入 BizTalk 配接器的封包 2010年累積更新套件 2。 如需有關如何取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文: BizTalk 配接器的封包 2010年,2572999累積更新套件 2

BizTalk 配接器套件 2.0

累積更新套件 3 中會包含可解決這個問題的 hotfix,BizTalk 配接器套件 2.0。 如需有關如何取得累積更新套件,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文的詳細資訊:

2557150 BizTalk 配接器套件 2.0 的累積更新套件 3注意本 hotfix 會新增< TraceIdentifier >及< / TraceIdentifier >所需的 WCF 的追蹤檔 (.svcLog) 的標籤。 Hotfix 會新增這些標記之後,請更正追蹤檔案中的輸出,,,服務追蹤檢視器 」 工具 (SvcTraceViewer.exe) 可更快速地開啟大型 WCF 的追蹤檔案。 下列:: 結束追蹤缺乏< TraceIdentifier >及< / TraceIdentifier >標記之前套用這個 hotfix: < 描述 > ExecuteNonQuery::Exit < / 描述 >< 描述 >OpenConnection::Exit < / 描述 >< 描述 > ExecuteScalar::Exit < / 描述 >< 描述 > Polling_WaitForMessage::Exit < / 描述 >

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

其他相關資訊

如需有關IInputChannel.WaitForMessage方法的詳細資訊,請造訪下列 MSDN 網站:

IInputChannel.WaitForMessage 方法的一般資訊如需有關IInputChannel.TryReceive方法的詳細資訊,請造訪下列 MSDN 網站:

IInputChannel.TryReceive 方法的一般資訊如需有關 BizTalk Server hotfix 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2003907 BizTalk Server hotfix 的相關資訊

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×