某些链接的SQL Server表上的MS Access 2016崩溃

时间:2018-12-09 00:59:11

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

  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进行了完全修补。应该考虑搜索和安装更新。

答案 1 :(得分:0)

表的名称是什么? (access和sql具有不同的保留字),如果您使用其中之一,则可以创建表,但从不访问它。
如果表名中包含空格,则Access通常可以,但是sql确实不可以。

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