必须先保存查询,否则邮件附件为空;需新建查询→执行SQL→点击“导出”按向导配置→保存为导出查询→在批处理作业中拖入并手动点击“添加附件”按钮,且SMTP须用授权码、路径须全英文无空格。
导出查询必须先保存,否则邮件附件为空
navicat
的「自动运行」不支持直接调用未保存的查询或导出操作。如果你在批处理作业里只加了原始 sql 查询,却没把导出动作单独保存为一个“导出查询”,那么邮件只会收到执行成功的提示,附件永远是空的。
正确顺序是:
)
保存时路径建议用绝对路径,避免计划任务运行时找不到目标目录
文件名中可含
占位符(如
),Navicat 会自动替换为当天日期
导出类型必须选「Excel 文件」或「CSV 文件」;PDF 或 HTML 不会被识别为有效附件
批处理作业里「添加附件」不是可选项,是必做步骤
在「自动运行 → 新建批处理作业」界面,把刚保存的导出查询(如
)拖进去后,下方列表会出现该任务。此时必须手动点击「添加附件」按钮(图标是个回形针),否则即使配置了邮箱,邮件正文里也不会附上文件。
常见错误现象:
「添加附件」操作只对「导出查询」类型任务生效,普通 SQL 查询或数据传输任务无法添加
如果导出查询保存时路径含中文或空格,可能导致附件加载失败,建议路径全英文、无空格
一个批处理作业只能添加一个附件;多个报表需拆成多个独立作业
SMTP 配置填错最常卡在「授权码」和「主机地址」
在批处理作业的「高级」页签里填邮箱参数时,
和
不是你的邮箱登录密码,而是 SMTP 授权码——这个码在邮箱设置里单独生成,且多数只显示一次。
典型配置示例(以 163 邮箱为例):
navicat for mysql 破解版
优秀的mysql数据库远程管理工具
下载
:smtp.163.com
:465(SSL)或 587(TLS),推荐 465
:yourname@163.com(完整邮箱)
:一串 16 位随机字符(不是登录密码)
其他邮箱对应主机参考:
(Gmail)、
(QQ 邮箱)、
(Outlook)
测试前务必确认邮箱已开启 SMTP 服务(163/QQ 需在「设置 → POP3/SMTP/IMAP」中手动打开)
定时触发依赖 Windows 任务计划程序,Navicat 自身不托管调度
Navicat 16 的「设置计划任务」功能本质是调用 Windows 本地的「任务计划程序」,它会在后台注册一个以
启动的命令行任务。这意味着:
电脑必须开机、用户需保持登录状态(不能锁屏或注销),否则任务不会执行
首次设置时要求输入当前 Windows 管理员密码,这是系统级权限校验,跳不过
如果 Navicat 安装路径含空格(如
),命令行参数必须用英文双引号包裹:
任务日志默认写入 Windows 事件查看器 → 应用程序和服务日志 → Navicat,出错时优先查这里
真正容易被忽略的是:Navicat 关闭后任务仍可运行,但它依赖 navicat.exe 进程启动 —— 所以别卸载或移动安装目录,否则所有定时作业都会失效。
新建查询 → 写好 SQL → 点击右上角「导出」按钮 → 按向导走完(选 Excel/CSV、勾选「使用文本限定符」、编码选 UTF-8 with BOM)→ 最后一步点「保存」并命名(如 daily_sales_exportsales_.xlsx daily_sales_export邮件收到,但附件缺失,或附件大小为 0 KB用户名密码主机端口用户名密码smtp.gmail.comsmtp.qq.comsmtp.office365.comnavicat.exe --batch-job="xxx"C:\Program Files\Navicat Premium 16\"C:\Program Files\Navicat Premium 16\navicat.exe" --batch-job="daily_sales_export"