跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Navicat 16怎么设置定时导出报表并发送邮件_在自动运行中使用邮件通知功能

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

相关文章