MS Access 2016 在某个链接的 SQL Server 表上崩溃
Posted
技术标签:
【中文标题】MS Access 2016 在某个链接的 SQL Server 表上崩溃【英文标题】:MS Access 2016 crashes on a certain linked SQL Server table 【发布时间】: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 表并从头开始构建它,但它仍然崩溃。
【问题讨论】:
请提供minimal reproducible example。 【参考方案1】:当您不按 shift 键阻止执行时,了解发生了什么对我们来说很重要。 请向我们展示正在执行的代码。
一般来说,如果出现奇怪的行为,总是值得尝试反编译/压缩数据库:"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
此外,在这种奇怪的情况下,确保 Microsoft Access 已完全修补也是值得的。应考虑搜索和安装更新。
【讨论】:
【参考方案2】:表的名称是什么? (access 和 sql 有不同的保留字),如果你使用其中一个,你可能可以创建一个表但永远不能访问它。 如果表名里面有空格,Access一般是可以的,但是sql真的不行。
简单的解决方案:如果名称中有空格 - 删除它们并重新链接。 由于大多数保留字都是单个字 - 如果您使用单个字作为表名,请将其更改为连接在一起的两个字。
【讨论】:
以上是关于MS Access 2016 在某个链接的 SQL Server 表上崩溃的主要内容,如果未能解决你的问题,请参考以下文章
MS Access JOIN 访问表与 SQL Server 表
MS-Access/SQL 拆分:如果我将其移动到不同的文件夹,前端安全性会发生变化