話をするMTS / COM +開発経験

話をするMTS / COM +開発経験


  • DBデッドロックの問題によって引き起こされます
    • ClassAクラスアクションの取引を行い、それがトランザクションサポートトランザクションで表1である。ClassBのは、それが表1であるアクションクエリを実行し、それはトランザクションのことは何の取引ではありません。ClassUCO内のデータを取得するとき、それは方法1トランザクション表1は、後に行く(トランザクションを必要とするように)出てきたとき、それは最初にClassAトランザクションデータ表1を呼び出し、ClassBのは、表1のデータを取得し、この目的を達成するために呼び出すために行くだろう。以下は、MTSの説明図であります

clip_image002

    • 表1のためのSQLでClassBのは、(NOLOCK)を添加していないのであれば、それはClassUCOデータができフェッチ・ロックを手放すが、問題は、我々はデータをフェッチするClassUCO ClassBのを待つ必要があるまでそう待つように、ライブClassUCOトランザクションのロックになります、リリースになります。だから!ロックは、このようにそれを生産!だから我々はこのような状況ああ検討する、トランザクションのコンポーネントタイプを設定したときに!

  • MTSは、順番にルートコンポーネントを維持します
    • 呼び出しはメソッドの上にあるときは、誰もが出て解放するが、MTSでルートコンポーネントが転送されてきた、何のスタートとなしコールはありません。この場合、それはより多くのコンポーネントの異なる一連の粉末のコールでルートコンポーネントの方法であってもよいので、あなたは、同じキットの試みでそれらのすべてを置くことができます。CRD Eloikによると、ルートコンポーネントオブジェクトは、他のフリーを知る方法がないかもしれ、言う、と待っていました。

  • MTSでのオブジェクトは、また作成し、レジストリにないアップされて登録されています
    • 次に、パッケージのカットを入れた新しいパッケージを再作成し、DLLに引き出します。それでも問題が解決しない場合は、それはすべてのパッケージを切断し、その後、やり直します。

  • エラーコード= er.NativeError = 0エラー=指定されたトランザクションコーディネーターで-2147168246説明することはできませんプロビジョニング新しいトランザクション
    • MSDTC→はDWORD値調整設定
      TurnOffRpcSecurityは、(1)クロスドメイン1セット
      (0)AllowOnlySecureRpcCallsを     =>これは直接、追加、削除することはできません
      それを直接削除し、これは追加できません> FallbackToUnseureRpcIfNecessary(0)=
      つ[DBSERVERネットワークカード、同一のAPサーバを有するセグメント、二つのホスト]は設定されているように、
       
      MSDTC→セキュリティ新しいDWORD値
      (1)NetworkDtcAccessInboundを     =>これは直接削除、追加できません
      NetworkDtcAccessOutBound(1)    =>これをあなたは直接それを削除、追加することはできません
      、それは削除されるべきである、(1)クロスドメインの競合を設定4はWin2003のとTurnOffRpcSecurityに設定されます上。
       
      MSDTC→チェック(インストールされているデフォルト値。1)
      NetworkDtcAccess(1)
      NetworkDtcAccessTransactions(1)

オリジナル:大列  についての話をするMTS / COM +開発経験


おすすめ

転載: www.cnblogs.com/chinatrump/p/11505532.html