我有一个用MS Access 2007-2010编写的应用程序,后端是一个SQL数据库。
构建新数据库后,当我在Access报告中查看来自SQL的记录时,尝试编辑或输入新的输入结果时出现运行时错误3197。
特定的错误说明:此记录在您开始编辑后已被其他用户更改
然后我有了“复制到剪贴板”和“删除更改”选项,而“保存”记录是灰色的。单击Drop changes将显示错误:
“运行时错误'3197‘Microsoft Access数据库引擎停止了进程,因为您和另一个用户正在尝试同时更改相同的数据。”
然后,我查看了SQL并使用EXEC VBA 'Active‘查询了数据库,我可以看到我用于SQL的用户名是可运行的,而Access应用程序使用的用户(用Access sp_who2编码)是挂起的(挂起它的命令是SELECT)。
我有其他的数据库,都是以同样的方式构建的,工作起来没有问题。我已经检查了工作数据库上的sp_who2,当它与Access一起运行时,因为“有问题的”数据库而被挂起的用户正在与这个数据库一起睡觉。
我已经检查了这两个数据库的权限,并在Security--> Logins中检查了用户的权限,但没有看到任何可以标记为问题的东西(也许其他人可以?)。
不确定为什么会发生这种情况,为什么数据库被SQL用户锁定,并且不让Access用户更新相关记录。
有没有人能解释一下这个问题?
谢谢。
发布于 2017-10-03 04:49:55
按照建议,我将bit数据类型的字段中的数据从null更新为0,并将数据类型更改为int。这就解决了这个问题。
https://stackoverflow.com/questions/11753862
复制相似问题