2011-12-22 6 views
0

に構成されているが、私はCOMのOBJエラー:DTCが

using (TransactionScope ts = 
       new TransactionScope(TransactionScopeOption.Required, 
        new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) 
      { 

... 

       ts.Complete(); 
      } 

を使用しているいくつかのC#のコードを持って、私は次のエラーを取得します。なぜアイデアはありますか?

Server Error in '/MyApp' Application.

Error HRESULT E_FAIL has been returned from a call to a COM component.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: Error HRESULT E_FAIL has been returned from a call to a COM component.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.]
System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim) +0
System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) +384

[TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed.]
System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) +259971
System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx) +209
System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx) +339
System.Transactions.EnlistableStates.Promote(InternalTransaction tx) +21 System.Transactions.Transaction.Promote() +60 System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction) +71
System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) +309
System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts) +45
System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) +630
System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) +45
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1466
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +84
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +1645767
System.Data.SqlClient.SqlConnection.Open() +258

+0

素晴らしい例外メッセージです。詳細は何も表示されません。 E_FAILは、 "それをやり遂げることができなかった、なぜか分からない"以上のことを意味するものではありません。そして、誰もCOM +の代わりにJavaを使用する主な理由。設定や魔法のSOのポストでそれを解決できない場合は、マイクロソフトのサポートが必要です。 –

+0

ファイアウォールを有効にしている場合は、MSDTC用に設定されていることを確認してください。そうでなければ、MSDTCを再インストールすると、user9 ...のように、魔法のように修正されることがあります。 –

答えて

0

[TransactionManagerCommunicationException:基本的なトランザクションマネージャとの通信に失敗しました] - これは、MSDTCがインストールされていないか、または正常に機能していません示唆しています。 MSDTCをインストール/再インストールして有効にすることはできますか?

関連する問題