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