navicat 导入 sql 文件报“系统找不到指定路径”是因为只支持本地绝对路径,不支持网络路径(unc/smb/icloud/onedrive)、含空格/中文/符号链接/波浪号/相对路径的路径;必须将 sql 文件复制到本地干净目录(如 c: avicat-import 或 /users/you/navicat-import/)再通过“浏览…”选择。
navicat 导入 sql 文件时提示“系统找不到指定路径”,**绝大多数情况是路径指向了网络共享位置(如 \serversharescript.sql、/volumes/share/script.sql 或 icloud/onedrive 同步目录)——navicat 根本不支持读取这类路径,会静默失败。**
Navicat 不认 UNC、SMB、iCloud、OneDrive 路径
它只接受本地文件系统上的绝对路径,且要求进程有直接读权限。网络路径会被忽略,错误表现为“找不到指定路径”或“cannot create file”,但日志里不会提示“路径无效”。
-
\nassqldump.sql、/mnt/nas/dump.sql、~/Library/Mobile Documents/com~apple~CloudDocs/dump.sql全部无效 - 带空格、中文、括号、符号链接的路径也会触发同样错误,例如
C:My SQL Filesdump.sql或C: empdump (1).sql - 波浪号(
~/)和相对路径(./dump.sql)不被解析,必须写完整绝对路径,如C: avicatscriptsdump.sql(Windows)或/Users/you/navicat/scripts/dump.sql(macOS)
导入前必须把文件拷到本地固定目录
不能跳过这一步——哪怕你只是双击桌面快捷方式打开 Navicat,它也跑在本地进程里,无法穿透网络协议栈去读远程文件。
- 选一个干净路径:Windows 推荐
C: avicat-import,macOS 推荐/Users/you/navicat-import/ - 确保路径不含空格、中文、特殊字符(连短横线都建议避开)
- 把 SQL 文件复制进去,再在 Navicat 的“运行 SQL 文件”对话框中用“浏览…”按钮选择该本地路径下的文件
- 如果文件很大(>50MB),先用 VS Code 或 Sublime Text 确认编码是 UTF-8 无 BOM,避免导入时乱码或中断
连接设置里的“设置位置”不是导入路径
很多人误以为编辑连接 → 高级 → “设置位置”是控制导入路径的地方,其实不是。那个字段只影响 Navicat 自己生成的查询文件、备份文件等的默认保存位置,和“运行 SQL 文件”功能完全无关。
- 导入 SQL 文件时,Navicat 只看你在弹窗里手动选中的那个文件路径
- 如果你点了“浏览…”然后导航到网络盘符(比如 Z: 盘映射自
\nas),选中后仍会失败——因为 Z: 是 Windows 的挂载抽象,Navicat 底层不识别 - 真正有效的做法:右键网络路径里的 SQL 文件 → “复制”,再粘贴到本地目录,然后从本地目录选
最常被忽略的一点:Navicat 对路径的校验是静默的。它不会告诉你“这个路径我打不开”,而是直接报“系统找不到指定路径”或卡在加载界面。只要路径不是本地绝对路径,就别指望能绕过去——拷文件这一步,没有替代方案。











