我有一个客户端需要更新的数据库。他们喜欢使用访问权限。有些表随机变为只读表。有什么想法吗?
他们正在使用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]) )
答案 0 :(得分:3)
Access非常喜欢在每个表上都有一个TimeStamp aka RowVersion字段。我不知道这是否能解决你的问题。
“在支持它们的服务器(例如Microsoft SQL Server)上,时间戳字段使更新记录更有效。时间戳字段由服务器维护,并在每次更新记录时更新。如果您有时间戳字段,Microsoft Access只需检查唯一索引和时间戳字段,以查看记录自上次从服务器检索以来是否已更改。否则,Microsoft Access必须检查记录中的所有字段。如果向附加添加时间戳字段表,重新附加表以通知Microsoft Access新字段。“
答案 1 :(得分:0)
用户在尝试使用sql时会访问数据库吗?如果是这样,那么您将收到一条错误消息,指出数据库正在使用且是只读的。当你用sql做事时,没有人可以进入数据库。
答案 2 :(得分:0)
听起来像权限问题。您是否仔细跟踪谁在改变架构?您可能拥有不允许使用某些其他用户所做更改的用户。