我有一个用 MS Access 2007-2010 编写的应用程序,后端是一个 SQL 数据库。
建立新数据库后,当我在 Access 报告中查看来自 SQL 的记录时,尝试编辑或输入新的输入结果时出现运行时错误 3197。
具体错误说:自从您开始编辑此记录以来,该记录已被另一个用户更改
然后我有复制到剪贴板和删除更改选项,而保存记录是灰色的。单击 Drop 更改会带来错误:
“运行时错误 '3197' Microsoft Access 数据库引擎停止了进程,因为您和另一个用户正试图同时更改相同的数据。”
然后我查看 SQL 并使用 EXEC sp_who2 'Active' 查询数据库,我可以看到我用于 SQL 的用户名是 RUNNABLE 而 Access 应用程序使用的用户(在 Access VBA 中编码)是 SUSPENDED(它的命令被挂起的是 SELECT)。
我有其他数据库以相同的方式构建并且没有问题。我在使用 Access 运行时检查了工作数据库上的 sp_who2,并且因“有问题的”数据库而被暂停的用户正在与这个数据库一起睡觉。
我已经检查了两个数据库的权限,并检查了安全--> 登录中用户的权限,但没有看到任何我可以标记为问题的内容(也许其他人可以?)。
不知道为什么会发生这种情况以及为什么数据库被 SQL 用户锁定并且不会让 Access 用户更新相关记录。
任何人都可以对这个问题有所了解吗?
谢谢。