使用Access更改SQL表。表随机变为只读

时间:2009-06-12 15:55:10

标签: sql-server ms-access ms-access-2007

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

他们正在使用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]) )

3 个答案:

答案 0 :(得分:3)

Access非常喜欢在每个表上都有一个TimeStamp aka RowVersion字段。我不知道这是否能解决你的问题。

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

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

答案 1 :(得分:0)

用户在尝试使用sql时会访问数据库吗?如果是这样,那么您将收到一条错误消息,指出数据库正在使用且是只读的。当你用sql做事时,没有人可以进入数据库。

答案 2 :(得分:0)

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