3

我要求 Access 2002 对 SQL 2000 服务器运行这样的查询:

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 Driver][SQL Server]RAISERROR 在 sysmessages 中找不到错误 800311 的条目。(#2758)

怎么了?

值得注意的是,tableA 是链接表,而 tableB 是仅存在于 Access 中的表。

4

1 回答 1

0

该消息表明某处的某些 SQL 代码显式引发了 ID 为 800311 的错误,但该错误尚未通过 sp_addmessage 添加到 sysmessages。我会使用 SQL Profiler 来准确查看查询是如何在服务器上执行的,以及在哪里引发了错误。由于引用了 sysmessages,我假设您使用的是 SQL 2000,但您应该始终提及版本。

于 2011-11-28T09:43:54.330 回答