2

这个网站上还有其他问题确实与我要问的问题非常接近,但我的问题略有不同(如果有人知道存在的问题完全涵盖了这个问题,那么请指导我)。

我有 Windows Server 2003,上面有 SQL Server 2000(我认为)。在那个 SQL Server 上,我有 5 个数据库,其中四个是我目前使用的。现在,我还有一台笔记本电脑(win xp pro),上面安装了企业管理器的副本,我通过笔记本电脑维护 SQL 数据库,没有任何问题(通过网络,换句话说)。

我在笔记本电脑上还有一个带有 ODBC 链接的 Access 中的“前端”,这样我就可以使用 Access 中的表单来查看 SQL 中表的内容。几个星期以来,我对这个设置没有任何问题(因为我实际上创建了数据库)。

但是,我在 Access 中遇到的问题是我能够更改其中两个数据库中的信息,但不能更改另外两个数据库中的信息。当我尝试更改两个 NON 工作中的任何一个时,我得到一个“写入冲突 - 此记录已被另一个用户更改......”,但是我是唯一的用户!我使用的是 SQL Server 登录名,每次打开 Access 前端时都必须输入该登录名。这里发生了什么?我已经阅读了有关时间戳字段的内容,但我不明白为什么我可能必须实施或实际上如何实施?这个问题快把我逼疯了!

4

2 回答 2

2

您正在修改的表在 2 个不起作用的数据库中是否具有正确的主键?我问的原因是,如果 Access 无法确定您正在更新的确切记录(由于缺少主键或其他唯一字段),它通常会给出“写入冲突”错误。正如您所提到的,人们经常在出现此问题时建议使用时间戳字段,但根据我的经验,这仅在处理 Access 和 MySQL 时有所帮助,而不是 SQL Server。

另外,您使用的是哪个版本(和服务包)的 Access?

于 2013-03-07T14:25:10.040 回答
1

如果您有任何 BIT 字段,如果您正在对表进行更新,则必须在 BIT 字段中插入一个值,即在每个字段中插入“0”。它们不能为空。

于 2017-12-29T16:28:57.123 回答