0

我有一个客户端需要更新的数据库。他们喜欢使用访问权限。一些表随机变为只读。任何想法为什么?

他们使用 Access 2007 和 MS SQL 2005。

SQL 表:

CREATE TABLE [dbo].[Users](
    [SyncGroup] [varchar](20) NULL,
    [UserID] [varchar](20) NOT NULL,
    [Password] [varchar](20)  NOT NULL,
    [Restriction] [text] NULL DEFAULT (' '),
    [SiteCode] [varchar](20) NULL,
    [Group] [varchar](20)  NULL,
    [EmpId] [varchar](20)  NULL,
    [TimeZoneOffset] [int] NULL,
    [UseDaylightSavings] [bit] NULL,
    PRIMARY KEY ([UserID]) )
4

3 回答 3

3

Access 真的很喜欢在每个表上都有一个 TimeStamp aka RowVersion 字段。我不知道这是否会解决您的问题。

“在支持它们的服务器上(例如 Microsoft SQL Server),时间戳字段使更新记录更加高效。时间戳字段由服务器维护,每次更新记录时都会更新。如果您有时间戳字段,Microsoft Access 需要仅检查唯一索引和时间戳字段以查看自上次从服务器检索后记录是否已更改。否则,Microsoft Access 必须检查记录中的所有字段。如果将时间戳字段添加到附加表中,请重新- 附上表格以便通知 Microsoft Access 新字段。”

http://technet.microsoft.com/en-us/library/cc917601.aspx

于 2009-06-12T19:49:16.007 回答
0

当您尝试使用 sql 进行操作时,用户是否正在访问数据库?如果是这样,那么您将收到一条错误消息,指出数据库正在使用并且是只读的。当您通过 sql 处理数据库时,没有人可以在数据库中。

于 2009-06-12T16:40:11.797 回答
0

听起来像是权限问题。您是否在仔细跟踪谁在更改架构?您可能有一些用户无权使用某些其他用户所做的更改。

于 2009-06-12T19:52:06.127 回答