メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

Microsoft OLE DB Provider for SQL Server (SQLOLEDB) を使用してテーブルのレコードを変更しようとすると、次のエラーメッセージが表示されます。

実行時エラー '-2147467259 (80004005) ': 特定できないエラー

このメッセージは、次のすべての条件が満たされた場合に表示されます。

  • テーブルにトリガーが含まれており、トリガーでは FETCH コマンドが使用されています。

  • コンピューターに Microsoft データアクセスコンポーネント (MDAC) 2.8 がインストールされている。

  • FETCH コマンドでは、省略可能な INTO 句は使用されません。

解決方法

この問題を解決するには、Microsoft Windows XP の最新の service pack を入手してください。詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

322389 Windows XP の最新の Service Pack を入手する方法

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

問題の再現手順

問題を再現するには、FETCH コマンドを使用する更新トリガーを作成してから、Microsoft Visual Basic 6.0 プロジェクトを作成します。

  1. SQL クエリアナライザーを起動し、SQL Server 2000 のインスタンスに接続します。

  2. [ クエリ ] メニューの [ データベースの変更] をクリックします。 [サーバー名のデータベースの選択] ダイアログボックスが表示されます。注 サーバー名 は、接続されている SQL Server 2000 のインスタンスの名前のプレースホルダーです。

  3. [ 名前 ] 列で、[ pubs] をクリックし、[ OK]をクリックします。

  4. SQL クエリアナライザーで、次の Transact-sql ステートメントを実行します。

    CREATE TRIGGER jobs_Trigger1ON dbo.jobsFOR UPDATE ASBEGINDECLARE    @job_id intDECLARE job_inserted_cursor CURSORLOCALFAST_FORWARDFOR   Select job_id    FROM inserted OPEN job_inserted_cursorFETCH NEXT FROM job_inserted_cursor    /*  The error occurs. *//* FETCH NEXT FROM job_inserted_cursor INTO @job_id        The error does not occur. */CLOSE job_inserted_cursorDEALLOCATE job_inserted_cursorEND
  5. Microsoft Visual Basic 6.0 を起動します。

  6. [ 新しいプロジェクト ] ダイアログボックスで、[ 標準 EXE] をクリックし、[ 開く] をクリックします。 既定では、Form1 という名前のフォームが作成されます。

  7. プロジェクトエクスプローラーで、 Form1 フォームを右クリックし、[コードの 表示] をクリックします。

  8. Form1 フォームのコードウィンドウに次のコードを貼り付けます。

    Dim cnDim rsPrivate Sub Form_Load()Set cn = CreateObject("ADODB.Connection")cn.Open "Provider=SQLOLEDB;Pwd=<password>;UID=<user name>;Initial Catalog=pubs;Data Source=<data source>"cn.CursorLocation = 2Set rs = CreateObject("ADODB.Recordset")rs.Open "select * from jobs", cn, 1, 3rs.MoveLastrs(1).Value = "Test"rs.UpdateEnd Sub

    パスワードユーザー名データソース は、環境のパスワード、ユーザー名、データソースのプレースホルダーです。

  9. [ 実行 ] メニューの [ 開始] をクリックします。 "Symptoms" セクションに記載されているエラーメッセージが表示されます。

参照情報

関連情報を参照するには、次のマイクロソフト サポート技術情報番号をクリックしてください。

824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明詳細については、次の Microsoft 開発者ネットワーク (MSDN) Web サイトを参照してください。

SQL Server 用の OLE DB プロバイダーをインストールするhttp://msdn2.microsoft.com/en-us/library/aa198252 (http.sys) .aspx トリガーhttp://msdn2.microsoft.com/en-us/library/aa213995 (http.sys) .aspx を使用して http://msdn2.microsoft.com/en-us/library/aa172595 (http.sys) .aspxを行う

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×