【问题标题】:Why am I having trouble keeping linked table connection from Access to SQL Server 2012?为什么我无法保持从 Access 到 SQL Server 2012 的链接表连接?
【发布时间】:2020-02-11 16:37:38
【问题描述】:

我有一个使用 SQL Server 2012 作为后端的 Access 2016 数据库(我必须使用它,因为这是客户端安装的)。我有一个非常奇怪的问题。在这个数据库中有两个表,它们的主键字段也是 Identity(1,1)。我能够毫无问题地将表链接到 Access(链接表管理器默认使用 ODBC 驱动程序 2013)。这些表在 Access 中显示为主键自动编号。到目前为止,一切顺利。

但是,当我退出 Access 并重新进入时,我发现虽然表仍处于连接状态,但它不再为新记录添加自动编号。换句话说,当我进入表格设计时,自动编号消失了,Access “忘记了”我将其设为身份字段,即使它仍然存在于 SQL Server 中。因此,我显然得到了“无法将 NULL 值插入...”错误,即使它之前添加了 Autonumber/Identity 就好了。

我找到的唯一解决方案是取消所有表的链接(不仅仅是刷新)并重新执行链接表管理器流程。我还尝试了使用 SQL Server Native Client 2011 的自定义 ODBC 字符串,但是在执行此操作并导入时,管理器要求我在这些表上定义一个主键,就好像它们在 SQL Server 中没有 PK 一样,当他们显然做。

我可能使用了错误的驱动程序吗?我应该把它放在我的 SQL2019 实例上并要求他们升级吗?由于我们已经完成了数据迁移,这将是更多的工作,所以我宁愿从 2012 年“升级”到 2019 年作为最后的手段。

【问题讨论】:

    标签: sql-server ms-access odbc


    【解决方案1】:

    这可能与this questionthis thread有关:

    Microsoft 最近推出了一项更新,该更新打破了 Access 在链接到 SQL Server 的表中查看身份字段的方式。然而,甚至最近,他们解决了这个问题。确保将 Access 更新到最新版本,并检查错误是否仍然存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多