3

Access 2002 に、SQL 2000 Server に対して次のようなクエリを実行するように依頼しています。

INSERT INTO tableA (col1, col2, col3, ...)
SELECT (col1, col2, col3)
FROM tableB LEFT JOIN tableA ON tableA.id = tableB.id
WHERE tableA.id IS NULL;

しかし、それは失敗し、次のメッセージが表示されます。

マイクロソフト アクセス

ODBC -- リンク テーブル 'tableA' への挿入に失敗しました。

[Microsoft][ODBC SQL Server ドライバー][SQL Server]RAISERROR は、sysmessages でエラー 800311 のエントリを見つけられませんでした。(#2758)

何が起こっている?

tableA はリンクされたテーブルであるのに対し、tableB は Access にのみ存在するテーブルであることに注意してください。

4

1 に答える 1

0

このメッセージは、どこかの SQL コードが ID 800311 のエラーを明示的に発生させていることを示唆していますが、そのエラーは sp_addmessage を使用して sysmessages に追加されていません。SQL プロファイラーを使用して、サーバー上でクエリがどのように実行されているか、およびエラーが発生した場所を正確に確認します。sysmessages への参照から SQL 2000 を使用していると思いますが、常にバージョンについて言及する必要があります。

于 2011-11-28T09:43:54.330 に答える