修正プログラムを適用します。 SQLOLEDB プロバイダーが誤ってのトランザクション開いたまま

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:281633
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
# をバグ: 58292 (SQLBUG_70)
# をバグ: 235846 (SHILOH)
現象
特定の一連のコマンドを実行して明示的に関係トランザクションと、SQLOLEDB を使用して、アプリケーション プログラム内のパラメータープロバイダーは、コミットされていないトランザクションが誤って開いたまま。これが発生することができます。その他の問題が重大なブロックと。
原因
設定オプション 'implicit_transactions' に設定するがオフ、SQLOLEDB プロバイダーは、暗黙のトランザクションを開いています。
解決方法

MDAC 2.6

この問題を解決するには、Microsoft データ アクセス コンポーネントの 2.6 用の最新の service pack を入手します。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
300635 最新の MDAC 2.6 service pack の入手方法

修正プログラム

重要です: Microsoft データ アクセス コンポーネントのバージョン 2.6 をインストールする必要がありますこの修正プログラムを適用する前にします。

英語版のこの修正プログラムを適用する必要があります。次のファイル属性があるか」。
   Date       Time     Version     Size      File name      Platform   -----------------------------------------------------------------   11/22/00   8:43pm   8.00.0225   491,584   Sqloledb.dll   Intel   11/22/00   8:43pm   8.00.0225    61,440   Sqloledb.rll   Intel				
注: ファイルの依存関係、最新の修正プログラムや、機能に上記を含むファイルも他のファイルを含む場合があります。

回避策
この問題を回避するには、次のいずれかの操作を行います。
  • SQLOLEDB ではなく、ODBC 用 ole DB プロバイダーを使用します。プロバイダーです。

    - または -
  • 追加のトランザクションを作成するコードを配置します。問題があります。
状況
マイクロソフトで問題があることをこれがMicrosoft OLE DB プロバイダーのデータに含まれている SQL サーバーアクセス コンポーネント (MDAC) version 2.1 や 2.5、2.6。

MDAC 2.6

この問題は、まず Microsoft データ アクセス コンポーネント 2.6 Service Pack 1 で修正済みです。


MDAC 2.5

バージョンの Sqlredis.exe Microsoft SQL Server 7.0 Service Pack 4 に含まれているこの問題は修正されました。
詳細
アプリケーションのトレースを SQL Server の表示します。プロファイラーは、SQLOLEDB プロバイダーが SQL するには、次のステートメントを送信していることサーバー:
SET FMTONLY ON select ... SET FMTONLY OFFset implicit_transactions off SET NO_BROWSETABLE OFF				
これは、'implicit_transaction は既に開かれている、' されます。

代わりに、ODBC および SQL Server ドライバーの OLEDB プロバイダーを使用すると、まったく同じ Visual Basic と ADO コード SQL Server するには、次のステートメントを送信します。
set implicit_transactions off SET NO_BROWSETABLE OFFSET FMTONLY ON select  ... SET FMTONLY OFF				
したがって FMTONLY のオン暗黙のトランザクションと SQLOLEDB を開きます。ただし、このトランザクションでは、アプリケーションは、アプリケーションを開くため通常は、終了します。このトランザクションの時にだけ閉じられます、明示的なトランザクションを次します。
ぶら下がり opentran をロックします。

警告: この記事は自動翻訳されています

プロパティ

文書番号:281633 - 最終更新日: 02/24/2014 05:56:13 - リビジョン: 8.0

  • kbnosurvey kbarchive kbbug kbfix kbqfe kbmdac260sp1fix kbhotfixserver kbmt KB281633 KbMtja
フィードバック