我将MS Access表导入SQL Server 2012数据库 . 在MS Access中,当我更改到SQL Server表的链接时,数据库不会打开(停止响应并关闭) .
我将它们更改回Access表格,它们打开正常 . 然后我一次更改一个表的链接并重新打开 . 直到我到达一个表(只有 int Identity
和 nvarchar(20)
列)才停止打开 .
到底是怎么回事?当它链接到SQL Server表(我使用shift键打开MS Access数据库)时,我可以打开表并添加/编辑记录 . 它似乎不喜欢打开使用此表的初始表单 .
我甚至删除了SQL Server表并从头开始构建它仍然崩溃 .
2 回答
当您不通过按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完全修补 . 应考虑更新的搜索和安装 .
table 的名字是什么? (访问和sql有不同的保留字),如果你使用其中一个,你可能能够创建一个表,但永远不能访问它 .
如果表名中有空格,则Access通常没问题,但是sql确实不行 .
简单的解决方案:如果名称中有空格 - 删除它们并重新链接 .
由于大多数保留字是单个单词 - 如果您使用单个单词作为表名,请将其更改为连接在一起的两个单词 .