我要求 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;
但它失败了,并给我以下信息:
Microsoft Access
ODBC--insert on a linked table 'tableA' failed.
[Microsoft][ODBC SQL Server Driver][SQL Server]RAISERROR could not locate entry for error 800311 in sysmessages. (#2758)
发生了什么事?
可能值得注意的是,tableA 是一个链接表,而 tableB 是一个仅存在于 Access 中的表。
最佳答案
该消息表明某处的某些 SQL 代码明确引发 ID 为 800311 的错误,但该错误尚未使用 sp_addmessage 添加到 sysmessages。我会使用 SQL Profiler 来准确查看查询在服务器上的执行方式以及错误发生的位置。由于对 sysmessages 的引用,我假设您使用的是 SQL 2000,但您应该始终提及版本。
关于sql-server - 'Insert into linked table failed, RAISERROR could not locate entry for error x in sysmessages' 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8291341/
相关文章:
xml - HTML 到 XML,反之亦然,并在运行时从 UI - JAXB 使用模式进行验证?
Ruby Gem 安装失败 - 执行 gem 时出错 - 未初始化的常量 Syck::Syck
continuous-integration - 自动构建 Access 2007 数据库
asp.net-mvc - ASP.NET MVC 表单例份验证导致登录 url 被调用两次
asp.net - 使用分页在 RadGrid Telerik 中查找记录
django - 如何更改方法 is_valid() 中的表单字段