現在オフラインです。再接続するためにインターネットの接続を待っています

[FIX Oracle 用の Microsoft ODBC ドライバーがない埋め込み大かっこでクライアント カーソルでは成功しました

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

英語版 KB:292604
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
クライアント側カーソルを Oracle に対して使用すると、Microsoft ODBC ドライバーの Oracle、遅延更新を使用してデータベースが成功しなかったし、次のエラー メッセージが表示されたら。
0x80004005 (「が不足しているベース テーブル情報の更新の更新」)
これは、エラーは SQL の SELECT ステートメントには、埋め込みの角かっこを含む WHERE 句が含まれます場合に発生します。 問題は条件に、レコードセットの WHERE 句はかっこと文字列の条件に角かっこを含む場合にのみクライアント側カーソルでに発生します。
原因
ActiveX データ オブジェクト (ADO) クライアント カーソル エンジン、ステートメントは正常に解析できませんし、レコードセットを更新することはできません。
解決方法
この問題を解決するには、Microsoft MDAC 2. 5 の最新のサービス パックの入手します。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください:
293312[INFO] 最新の MDAC 2.5 Service Pack の入手方法
修正プログラム (英語版) のファイル属性は次表のとおりです。 これらのファイルの日時に協定時刻 (UTC) 記載します。 各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。 UTC および現地時間の時差を確認するには、コントロール パネル]、日付と時刻ツールの [ タイム ゾーン ] タブを使用してください。
   Date         Version       Size     File name     Platform   ----------------------------------------------------------------   03-07-2001   2.53.7307     327,952  Msadce.dll    x86				

状況
マイクロソフトとして認識していますこの問題をこの資料の冒頭に記載されているマイクロソフト製品の問題。 この問題は、まず Microsoft MDAC 2. 5 サービス パック 3 に修正されました。
詳細
Microsoft OLE DB での問題は発生しませんプロバイダー Oracle (MSDAORA)。

動作を再現する手順

  1. 作成する新しい Microsoft Visual Basic 6. 0 標準 EXE プロジェクトです。 既定では、Form1 が作成されます。
  2. [ プロジェクト ] メニューの [ 参照設定 ] をクリックして Microsoft ActiveX データ オブジェクトの 2. 5 への参照を追加ライブラリ。
  3. Form1 には、 Form_Load イベントに次のコードを貼り付けます:
      Dim con As ADODB.Connection  Dim rst As ADODB.Recordset    Set con = New ADODB.Connection  With con    .CursorLocation = adUseClient    .ConnectionString = "Provider=MSDASQL.1;UID=MyUser;PWD=MyPwd;DRIVER={Microsoft ODBC for Oracle};SERVER=MyServer;"    .Open  End With    Set rst = New ADODB.Recordset  With rst    .ActiveConnection = con    .CursorLocation = adUseClient    .CursorType = adOpenStatic    .LockType = adLockOptimistic    'This one fails!    .Source = "SELECT MyKey,UpdateVal,LookUpVal FROM UpdateTest WHERE (LookUpVal = 'Test2(Test2')"    'This one works!        '.Source = "SELECT MyKey,UpdateVal,LookUpVal FROM UpdateTest where LookUpVal='Test1'"    .Open  End With    rst.Fields(1).Value = 200  rst.Update					
  4. Oracle に接続する接続文字列を変更サーバー。
  5. MyKey (主キー)、UpdateVal、および LookUpVal UpdateTest テーブルを作成します。
  6. 次のように 2 つの行を追加します。
    • 最初のレコードが LookUpVal = Test2(Test2
    • 2 番目のレコードが LookUpVal Test1 =

  7. プロジェクトを開始します。
関連情報

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

プロパティ

文書番号:292604 - 最終更新日: 02/24/2014 15:31:26 - リビジョン: 3.2

Microsoft Data Access Components 2.5 Service Pack 1, Microsoft Data Access Components 2.5 Service Pack 2

  • kbnosurvey kbarchive kbbug kbfix kboracle kbqfe kbwin2000sp3fix kbmdac250sp3fix kbhotfixserver kbmt KB292604 KbMtja
フィードバック