我有一个使用 SQLServer 2008 R2 作为数据库的 Access 应用程序。
当我尝试更新单个记录时,我收到此错误:
“3179 microsoft Jet 数据库引擎停止了进程,因为您和另一个用户正试图同时更改相同的数据”
此错误仅附加在此特定记录(和其他一些记录)上,并在我每次尝试更新时附加。应用程序(和数据库)作为单个用户运行,我没有同时运行的线程更新相同的记录
我在我尝试的每台机器上都收到此错误,因此它不应该与 SQLServer 相关。
编辑
我尝试在 SQL Server 中直接更新记录,没问题,更新没问题。
我发现问题是当我从 Microsoft 访问更新四个文本字段(es.Note)之一时。
当我运行下面的脚本时,我只对特定记录(Cod_stabile=6600015)有错误,其他记录没有问题。更新其他字段没关系,只有文本字段出现错误。
Dim rs as DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb
. . .
StrSql = "SELECT St_Stabili.* FROM St_Stabili WHERE (St_Stabili.Cod_Stabile='6600015') ;"
Set rs = db.OpenRecordset(StrSql)
rs.Edit
rs!Note = '-'
rs.update <- error
. . .
StrSql = "SELECT St_Stabili.* FROM St_Stabili WHERE (St_Stabili.Cod_Stabile='6600016') ;"
Set rs = db.OpenRecordset(StrSql)
rs.Edit
rs!Note = '-'
rs.update <- OK!
非常感谢你