MS Access ODBC 连接到 SQL Server 2019 只读

问题描述 投票:0回答:1

我是一家公司的新人,我受雇管理一套基于 Excel 和 Access 的工具到新环境的切换。

这些当前正在与 SQL Server 2012 交互,部分迁移涉及迁移到 SQL Server 2019。

虽然数据检索基本上不受影响,但我发现的问题是 Access (MS 365) 无法再更新或删除链接表中的数据,因为数据库服务器上的基础表没有主键字段。

我通过向表中添加一个标识字段来验证这一点,该字段允许 Access 修改和删除记录。

从根本上说,表应该有一个PK,但我的问题是为什么这在以前的环境中有效,但在新环境中失败。

追溯性地向现有表添加标识字段将解决 Access 写入/删除的问题,但可能(几乎肯定会)导致在其他地方使用“SELECT *”查询的连续问题,我希望能够解释为什么现在出现这个问题。

sql-server ms-access odbc
1个回答
0
投票

当您链接没有 PK 的 ODBC 表时,您会看到选择唯一记录标识符对话框,提示您选择唯一标识表中每条记录的一个或多个字段。

如果表格有这样的字段(或组合),您可以选择此项,链接的表格将是可编辑的。

我认为这就是在旧环境中完成的方式。您可以在设计视图中打开链接表并检查 Access 是否显示 PK 的“钥匙”图标。

但请注意:如果所选字段实际上并不唯一,这将对您的数据造成严重破坏。

因此强烈建议在SQL Server端进行实际的PK,可以是现有列的组合,也可以是新的Identity列。

您还可以通过编程方式在 Access 中设置 PK:https://stackoverflow.com/a/32316883/3820271

© www.soinside.com 2019 - 2024. All rights reserved.