运行时错误“3197”。 MS Access 2010和SQL Server 2008R2
问题描述:
我有一个在MS Access 2007-2010编写的应用程序,后端是一个SQL数据库。运行时错误“3197”。 MS Access 2010和SQL Server 2008R2
建立一个新的数据库之后,当我认为从SQL记录在访问报告,试图修改或进入一个运行时错误新的输入结果3197
特定的错误说: 这个纪录由另一个用户已被改变,因为你开始编辑
然后,我必须复制到剪贴板和删除更改选项,而保存记录显示为灰色。 点击删除更改带来的错误:“运行时错误‘3197’ Microsoft Access数据库引擎停止,因为您和另一个用户试图在同一时间更改相同的数据的过程”
然后我查看SQL并使用EXEC sp_who2'Active'查询数据库,我可以看到用于SQL的用户名是RUNNABLE,而Access应用程序使用的用户(在Access VBA中编码)是SUSPENDED (它挂起的命令是SELECT)。
我有构造相同的方式工作,没有问题的其他数据库。我在使用Access运行时检查了工作数据库上的sp_who2,并且对于“有问题”的数据库而言SUSPENDED的用户正在与此人睡觉。
我检查的权限,这两个数据库,并检查了权限的安全的用户 - >登录并没有看到任何东西,我可以标记为问题(也许别人可以吗?)。
不知道为什么发生这种情况,为什么数据库是SQL用户锁定,不会让Access用户更新相关记录。
任何人都可以解释一下这个问题?
谢谢。
答
至于建议,我更新在已经从零位数据类型为0的字段中的数据,也改变了数据类型为int。这解决了问题。
你压缩并修复和反编译MS Access数据库吗?你在SQL Server中使用任何“不寻常的”日期格式吗?你说其他Access数据库没问题,他们是否可以链接到导致问题的相同表?你有新的数据库和链接表的问题吗? – Fionnuala 2012-08-01 09:04:15
新数据库与其他数据库具有相同的结构。我改变的唯一的领域是我做了更大的适合所有文本的几个变种。 你是什么意思的“不寻常的日期格式”?其他数据库正在使用相同的日期格式,没有任何问题。 当我在Access中检查一个对应于SQL Server中的位数据类型的框时,错误信息发生(从我测试到目前为止)。起初,该位字段为NULL,但即使我使用0填充该字段,错误仍然存在。 – mikimr 2012-08-01 12:28:09
请问这是http://msgroups.net/microsoft.public.access.formscoding/datatype-bit-problem-with/76194帮帮我? – Fionnuala 2012-08-01 12:43:27