【问题标题】:MS Access 2016 crashes on a certain linked SQL Server tableMS Access 2016 在某个链接的 SQL Server 表上崩溃
【发布时间】:2018-12-09 00:59:11
【问题描述】:

我将 MS Access 表导入 SQL Server 2012 数据库。在 MS Access 中,当我更改 SQL Server 表的链接时,数据库没有打开(停止响应并关闭)。

我将它们改回 Access 表,它们可以正常打开。然后我一次更改一个表的链接并重新打开。直到我到达一张桌子(只有一个int Identity 和一个nvarchar(20) 列)它才停止打开。

发生了什么事?当它链接到 SQL Server 表时(我使用 shift 键打开 MS Access 数据库),我可以打开表并添加/编辑记录。它似乎只是不喜欢打开使用此表的初始表单。

我什至删除了 SQL Server 表并从头开始构建它,但它仍然崩溃。

【问题讨论】:

标签: sql-server ms-access sql-server-2012 ms-access-2016


【解决方案1】:
  1. 当您不按 shift 键阻止执行时,了解发生了什么对我们来说很重要。 请向我们展示正在执行的代码。

  2. 一般来说,如果出现奇怪的行为,总是值得尝试反编译/压缩数据库:"c:\Program Files\Microsoft Office\Office16\MSACCESS.EXE" "c:\test\YourDatabase.accdb" /decompile /compact

    备注:exe的路径取决于您安装的Access版本/平台。 因此,对于 Access 2016,它可能是其中之一(64 位/32 位):

    • c:\Program Files\Microsoft Office\Office16\MSACCESS.EXE
    • c:\Program Files (x86)\Microsoft Office\Office16\MSACCESS.EXE
  3. 此外,在这种奇怪的情况下,确保 Microsoft Access 已完全修补也是值得的。应考虑搜索和安装更新。

【讨论】:

    【解决方案2】:

    表的名称是什么? (access 和 sql 有不同的保留字),如果你使用其中一个,你可能可以创建一个表但永远不能访问它。
    如果表名里面有空格,Access一般是可以的,但是sql真的不行。

    简单的解决方案:如果名称中有空格 - 删除它们并重新链接。
    由于大多数保留字都是单个字 - 如果您使用单个字作为表名,请将其更改为连接在一起的两个字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多