Na vicat 不支持直接批量导入多个 .ncx 文件,因其「导入连接」功能仅接受单个加密二进制 connections.ncx 文件,且该格式不可合并;真正可行的批量方案是使用 exportConnections 工具导出为明文 JSON,再手动补全密码后导入。
很多团队在共享数据库连接配置时,都希望能一键批量导入。但现实是,Na vicat 并不支持直接“批量导入连接设置”。关键在于理解,connections.ncx 文件本质上是一个加密的打包文件,一次只能导入一个。所谓的“批量”操作,实际上是指通过脚本或工具,预先处理好多个连接配置,再利用 Na vicat 的「导入连接」功能一次性加载。

为什么不能直接拖入多个 .ncx 文件
Na vicat 的「文件 → 导入连接」菜单,设计上就只接受单个 connections.ncx 文件。这个格式并非纯文本,而是一个基于当前系统密钥加密的二进制容器,因此不支持合并、追加或分片解析。如果你尝试同时选中多个 .ncx 文件,弹窗会静默忽略其余文件,只处理第一个。
操作中常见的错误现象包括:Import failed: Invalid file format(这通常是因为混用了 Windows 和 macOS 导出的 ncx 文件)、No connections imported(目标 Na vicat 版本低于导出版本时会发生)、或者导入后所有密码都为空(这在跨机器或跨平台操作时几乎必然发生)。
真正可行的批量导入路径:用 exportConnections + JSON 中转
其实,Na vicat 安装目录里自带了一个未公开的命令行工具 exportConnections。它能绕过图形界面的限制,直接输出明文的 JSON 配置(注意,密码不含在内),这才是实现批量操作的真正起点:
- Windows 下运行:
"C:\Program Files\PremiumSoft\Na vicat Premium 16\exportConnections.exe" -o team_connections.json - macOS 下运行:
/Applications/Na vicat\ 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 到新 Na vicat:必须手动补密码
Na vicat Premium 16 及以上版本支持「文件 → 导入连接 → 选择 JSON 文件」。但需要警惕的是,这个功能默认不读取密码字段。所有连接导入后,状态都会显示为「已保存,未验证」:
- 导入成功后,连接列表里会出现全部连接名称,但双击任何一个,都会弹出登录框要求输入密码。
- 这时,你必须逐个右键点击连接,选择「编辑连接」,然后在「用户」页手动填入密码(或者勾选「保存密码」后,在首次连接时输入)。
- 如果团队有统一的密码策略,其实有个变通办法:你可以先用文本编辑器在 JSON 文件中批量插入
"password": "your_team_pass"字段(务必注意保持 JSON 格式合法),然后再重新导入。不过,这个密码字段在 Na vicat 启动后,依然会被加密写回本地的connections.ncx文件,不会以明文形式持久保存。
容易被忽略的关键点
导出的 JSON 中有一个 connection_type 字段,其值可能是 mysql、postgresql 或 sqlserver 等。但 Na vicat 在导入时,不会 校验这个类型与当前安装的 Na vicat 版本是否匹配。举个例子,如果你用 Na vicat for MySQL 去导入一个包含 "connection_type": "postgresql" 的 JSON 文件,Na vicat 会静默跳过这条记录,既不报错,也不给任何提示。因此,务必在操作前核对清楚,目标 Na vicat 的套餐是否包含了对应的数据库模块。
