navicat 不支持直接批量导入多个 .ncx 文件,因其「导入连接」功能仅接受单个加密二进制 connections.ncx 文件,且该格式不可合并;真正可行的批量方案是使用 exportconnections 工具导出为明文 json,再手动补全密码后导入。
navicat 不支持直接“批量导入连接设置”——connections.ncx 文件本质是单个加密打包包,一次只能导入一个;所谓“批量”,实际是指用脚本或工具预处理多个连接配置,再通过 navicat 的「导入连接」功能一次性加载。
为什么不能直接拖入多个 .ncx 文件
Navicat 的「文件 → 导入连接」菜单只接受单个 connections.ncx 文件。该格式不是纯文本,而是基于当前系统密钥加密的二进制容器,不支持合并、追加或分片解析。尝试同时选中多个 .ncx 文件 → 弹窗会静默忽略其余文件,仅处理第一个。
常见错误现象包括:Import failed: Invalid file format(混用 Windows/macOS 导出的 ncx)、No connections imported(目标 Navicat 版本低于导出版本)、或导入后所有密码为空(跨机器/跨平台必然发生)。
真正可行的批量导入路径:用 exportConnections + JSON 中转
Navicat 安装目录自带未公开命令行工具 exportConnections,它能绕过 UI 限制,输出明文 JSON 配置(不含密码),这才是可批量操作的起点:
- Windows 下运行:
"C:\Program Files\PremiumSoft\Navicat Premium 16\exportConnections.exe" -o team_connections.json - macOS 下运行:
/Applications/Navicat\ Premium.app/Contents/MacOS/exportConnections -o team_connections.json - 输出的
team_connections.json是标准 UTF-8 JSON,字段如host、port、database、connection_name全部可见,可 Git 管理、用 VS Code 批量替换、甚至用 Python 脚本注入环境变量中的密码
导入 JSON 到新 Navicat:必须手动补密码
Navicat Premium 16+ 支持「文件 → 导入连接 → 选择 JSON 文件」,但该功能不读取密码字段,所有连接导入后状态为「已保存,未验证」:
- 导入成功后,连接列表里会出现全部连接名,但双击任一连接都会弹出登录框
- 必须逐个右键 → 「编辑连接」→ 在「用户」页手动填入密码(或勾选「保存密码」后首次连接时输入)
- 若团队约定统一密码策略,可用文本编辑器在 JSON 中批量插入
"password": "your_team_pass"字段(注意 JSON 格式合法性),再重新导入——但该字段在 Navicat 启动后仍会被加密写回本地connections.ncx,不持久明文
容易被忽略的关键点
导出的 JSON 中 connection_type 字段值可能是 mysql、postgresql 或 sqlserver,但 Navicat 导入时不会校验该类型与当前安装版本是否匹配。比如用 Navicat for MySQL 导入含 "connection_type": "postgresql" 的 JSON,会静默跳过该条目,不报错也不提示——务必提前核对目标 Navicat 套餐是否包含对应数据库模块。











