Navicat 17无法直接读取Navicat 16注册表连接配置,必须通过Navicat 16导出.ncx文件、再在Navicat 17中“文件→导入→导入连接”完成迁移,否则旧连接丢失;导出时需勾选“包含密码”且注意Oracle、MongoDB、SSH隧道及瀚高等特殊连接的驱动与配置适配。
navicat 17 无法直接读取 navicat 16 的注册表连接配置,必须手动导出再导入,否则新版本启动后会丢失所有旧连接。
导出 Navicat 16 连接配置(注册表方式)
Navicat 16 的连接信息存在注册表路径 HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\NavicatPremium 下,但密码是加密的,不能直接复制键值。正确做法是用 Navicat 16 自身导出功能生成可迁移文件:
- 打开 Navicat 16 → 左侧「连接」右键 → 选择「导出连接」
- 保存为
.ncx文件(不是 .xml 或 .json),这是 Navicat 原生连接包格式 - 注意:导出时若勾选「包含密码」,需确保当前用户有权限读取加密凭据;若不勾选,导入后需手动补填密码
在 Navicat 17 中导入 .ncx 文件
Navicat 17 支持原生 .ncx 导入,但路径和入口有变化,容易点错位置:
- 启动 Navicat 17 后,不要点「新建连接」,而是点击顶部菜单栏「文件」→「导入」→「导入连接」
- 选择之前导出的
.ncx文件,勾选「覆盖同名连接」(避免重复创建) - 导入完成后,连接列表里会出现新连接,但状态图标可能显示灰色(未测试),需双击该连接 → 点「测试连接」才能激活
- 如果导入后密码为空,说明导出时未勾选「包含密码」,此时要手动编辑连接 → 在「常规」页重新输入密码并保存
跨版本迁移失败的常见原因
不是所有 Navicat 16 的连接都能无损迁移到 17,尤其涉及特定驱动或协议扩展时:
-
Oracle连接若用了旧版OCI驱动(如 Oracle 11g client),Navicat 17 默认使用ODPI-C,导入后会提示「无法加载 OCI DLL」,需改用「Basic」模式并填写完整TNS字符串 -
MongoDB连接若含SSL自定义 CA 路径,在 Navicat 17 中该字段被重命名为「TLS/SSL 设置」,导入后需手动补填证书路径 - 使用
SSH 隧道的连接,Navicat 17 对密钥格式更严格:只接受 OpenSSH 格式(id_rsa),不兼容 PuTTY 的.ppk,需提前用puttygen转换
真正麻烦的不是导出导入动作本身,而是那些没报错却 silently 失效的配置项——比如瀚高(HighGo DB)连接虽能导入,但 Navicat 17 默认把它归类为 PostgreSQL 类型,而实际需要手动切换驱动为 HighGo 才能执行 DDL 操作。这类细节不会在导入过程提示,只能靠连上后执行一条 SELECT version(); 才能确认是否真正生效。


















