Navicat 15 的 connections.ncx 文件与 Navicat 17 不兼容,因两者 XML schema 结构不同,v17 不解析 v15 文件,导入后连接列表为空或仅显示编号(如 Connection_1),且静默失败无提示;必须在旧机安装 v17 后重新导出,导出时勾选“Include password”并设临时主密码,导入后需手动重设 SSH 路径、代理及中文编码等运行时配置。

不能直接迁移,Navicat 15 的 Connections.ncx 文件与 Navicat 17 不兼容,导入后连接列表为空或显示为 Connection_1 等编号,且无错误提示——这是格式层面的静默失败,不是操作失误。
为什么 Navicat 15 的配置无法被 Navicat 17 直接读取
Navicat 15 和 17 使用完全不同的 XML schema 结构定义连接配置,v17 不会尝试解析 v15 的 Connections.ncx。即使文件编码、路径、权限都正确,导入动作也会静默跳过——界面无报错,控制台无日志,连接列表就是空的或只剩编号。
- v15 导出的
.ncx是 v15 schema,v17 没有向下兼容逻辑 - 官方未提供转换工具,也未公开 DTD/XSD 文档,逆向解析成本远高于重配
- 试图用文本编辑器手动改 XML 结构?大概率导致文件损坏,Navicat 启动时直接拒绝加载
唯一可行路径:在旧机上用 Navicat 17 重新导出
你必须在仍装有 Navicat 15 的旧 Mac 上,**额外安装 Navicat 17**(不要卸载 v15),然后用 v17 打开现有配置,再执行导出。这是绕过版本隔离的唯一可靠方式。
- 下载并安装 Navicat 17 for macOS(注意匹配芯片架构:Intel 或 Apple Silicon)
- 首次启动 v17 时,它会自动检测并加载已有的 v15 配置(
Connections.ncx路径为~/Library/Application Support/PremiumSoft/Navicat/) - 确认所有连接正常显示 → 菜单栏
文件 → 导出连接→ 勾选Include password→ 输入临时主密码(如temp123)→ 保存为新connections_v17.ncx - 导出完成后,立即删掉本地这个含明文密码的文件(别留痕)
导入到新 Mac 的 Navicat 17 后必做的三件事
导入成功 ≠ 连接可用。v17 导入的配置只保留结构参数,所有运行时依赖都需重设,尤其在跨设备场景下。
-
SSH 私钥路径全失效:旧 Mac 的
/Users/alex/.ssh/id_rsa在新 Mac 上几乎肯定不存在。逐个打开连接 → 切到SSH标签页 → 点击「浏览」重新选择私钥文件(注意权限:macOS 要求600,用chmod 600 ~/.ssh/id_rsa修复) -
密码字段仍是星号:导入时必须输入导出用的临时主密码(如
temp123),否则密码不会还原;输错一次,该连接密码即永久丢失,只能重输 -
代理和跳板配置不继承:HTTP/SOCKS 代理地址、自定义 SSH 命令(如
ssh -o ProxyCommand="nc -X 5...")、跳板机设置全部清空,需对照旧环境手动补全
中文连接名乱码?检查 Navicat 版本与编码组合
v15 默认用系统编码(macOS 是 UTF-8,但早期 v14 及以下在某些终端环境下可能误判),而 v17 严格要求 UTF-8 无 BOM。若导入后中文变方块或截断,问题不在迁移过程,而在旧配置本身。
- 优先确认旧 Mac 上 Navicat 15 是否 ≥ v15.1(v15.0 有已知 UTF-8 解析缺陷)
- 若必须用老版本,导出时不走
文件 → 导出连接,改用右键单个连接 →Export Connection → Export as XML(XML 是纯 UTF-8 无 BOM,兼容性更好,但不包含分组结构和部分 SSL 字段) - 别用系统“文本编辑”打开
.ncx文件修编码——它会自动加 BOM,v17 拒绝加载;用 VS Code 或 Sublime Text,右下角确认「UTF-8」且无「BOM」标识
最易被忽略的一点:Navicat 17 在 macOS 上首次读取旧配置时,若发现 Options.xml 中有 v15 特有的 UI 设置(如旧版主题色、工具栏布局),会静默丢弃这些项,但不会提醒你。这意味着导入后界面看起来“差不多”,但快捷键、SQL 片段默认分组、甚至字体缩放都可能回退到 v17 默认值——这些不属于连接配置,得单独重配。











