将Access 97迁移至SQL Server时遇版本错误的技术咨询
使用SSMA for Access v2.7迁移Access 97数据库的解决方案
首先明确告诉你:SSMA for Access v2.7没办法直接迁移Access 97的.mdb文件,这就是你碰到“无法打开使用应用程序早期版本创建的数据库”错误的核心原因。
为什么会出现这个问题?
SSMA for Access v2.7的原生支持范围是从Access 2000及以上版本开始的,Access 97用的是Jet 3.5旧格式,不在这个版本工具的兼容列表里。再加上你服务器上同时装了64位Access 2016和旧版的Access 97,驱动兼容性冲突也会让这个问题更突出。
可行的解决步骤
咱们一步步来搞定这个问题:
- 先升级Access 97数据库格式
这是最关键的一步,把旧格式转成SSMA支持的版本:- 用服务器上的Access 97,或者找一台装了Access 2003/2007的机器,打开这个.mdb文件
- 点击「文件」>「另存为」,把数据库格式升级成Access 2000或更高版本的.mdb(如果用Access 2007及以上,也可以存成.accdb格式)
- 划重点:升级前一定要给原数据库做备份,别因为操作失误丢了数据!
- 调整SSMA的驱动设置
升级完数据库后,打开SSMA for Access:- 点击顶部菜单栏的「工具」>「项目设置」
- 在弹出的窗口里选「常规」>「Access连接」
- 确认选择的驱动是和升级后数据库匹配的,比如
Microsoft Access Driver (*.mdb, *.accdb),避免驱动不匹配再次报错
- 解决Access组件兼容性冲突
因为你服务器上同时装了64位和32位的Access组件,运行SSMA时可以做个小调整:
右键点击SSMA的图标,选择「属性」>「兼容性」,勾选「以兼容模式运行这个程序」,选个合适的系统版本(比如Windows 7),如果SSMA是32位版本,记得再勾选「以管理员身份运行」,能减少不少兼容性问题
额外小提示
如果打开Access 97数据库时提示损坏,可以先用Access自带的「数据库修复工具」(「工具」>「数据库实用工具」>「压缩和修复数据库」)修复一下,再进行格式升级。
内容的提问来源于stack exchange,提问作者Rob Bowman
相关产品推荐
相关产品推荐

