必须勾选“导出密码”才能在connections.ncx中生成加密密码字段,否则无法解密恢复连接;该文件为Navicat 17专用AES加密XML格式,跨版本导入易失败,需严格匹配主版本并验证密文存在。

必须勾选“导出密码”,否则导出的 connections.ncx 文件里不含加密密码字段——这是后续解密恢复连接的前提,不是可选项。
导出时必须勾选「包含密码」才能拿到加密密文
Navicat 17 的连接配置导出默认不包含密码,哪怕你当前连接能正常连上。不勾选就等于白导:
- 打开 Navicat 17 → 左侧「连接」面板右键 → 「导出连接」
- 弹窗中务必勾选
导出密码(界面文字可能显示为“Include passwords”) - 保存为
connections.ncx文件(不是 .xml、.json 或其他格式) - 若导出后用文本编辑器打开该文件,搜索
标签,应能看到一串 Base64 编码的密文;找不到说明导出失败
导出的 connections.ncx 是加密结构化文件,不能直接编辑
这个文件是 Navicat 自定义序列化的 XML + AES 加密混合体,密码字段本身已加密,且整个文件结构含校验字段。常见误操作包括:
- 用记事本手动修改
内容 → 导入后连接失败或密码为空 - 把 v17 的
connections.ncx拷进 v15 的配置目录 → 连接名变Connection_1、SSL 设置丢失、中文乱码 - 试图用旧版 Navicat(如 v16)导入 v17 导出的文件 → 部分字段被跳过,Oracle/SSH/MongoDB 等特殊配置失效
备份 connections.ncx 文件前要确认目标环境兼容性
这个文件虽是纯文本格式,但加密协议和字段定义随主版本升级而变更。跨版本迁移时容易静默失败:
- v17 导出的
connections.ncx可被 v17.x 各小版本(如 17.0 → 17.3)安全导入,但不能回退给 v16 或 v15 - 导入到新机器前,先检查目标 Navicat 版本:Help → About Navicat → 看完整 build 号(例如
17.3.12 (Build 26100)),而非只看 “17” - 涉及 SSH 隧道的连接,v17 要求私钥为 OpenSSH 格式(
id_rsa),PuTTY 的.ppk会静默忽略,需提前用puttygen转换 - Oracle 连接若用了 OCI 驱动,导入后可能提示
无法加载 OCI DLL,需改用 Basic 模式并补全 TNS 字符串
真正关键的不是“导出动作是否完成”,而是导出后立刻验证文件内容是否含有效密文、以及导入目标是否与导出版本一致——这两个点不确认,备份等于没做。











