我在通过 MS Access 更新 SQL Server 视图时遇到了一些问题。用于此的表集是基于基表构建的。这个基表就是这种格式。
Id int (not-nullable; auto-assigned)
A1 varchar(50) (nullable)
A2 varchar(50) (nullable)
B1 varchar(50) (nullable)
B2 varchar(50) (nullable)
C1 varchar(50) (nullable)
C2 varchar(50) (nullable)
此表中的一行由我们公司的多组用户更新。例如,用户组“A”更新列“A1”和“A2”,用户组“B”更新列“B1”和“B2”,等等。但是,我们还想防止用户组“A”更新用户组“B”的列。为此,我设置了一个视图,其中包含适合每个用户组的列。例如,用户组“A”的视图将只包含“Id”、“A1”和“A2”列。然后我将 SSMS 中视图上的“绑定到架构”选项设置为“是”,并在每个视图的“Id”列上设置一个唯一的聚集索引。在 MS Access 中,我使用 ODBC 连接将这些视图作为链接表连接到。
这就是问题所在:当我尝试在其中一个视图中通过 MS Access 更新记录时,有时更新会立即运行,但有时更新会超时。这是我得到的错误。
“SM_Notes_Bridge”是我的一种观点的实际名称。我可以在网上找到的几乎所有以前的答案都说要增加 MS Access 中更新超时之前的时间,这似乎不是我的问题的解决方案,因为更新要么立即运行,要么超时。没有回旋的余地。
另一个注意事项是,我目前是唯一使用此基表和这些视图的人。此外,重要的系统是围绕该基表结构开发的,因此更改其结构将需要很多说服力。