运行每日SQL查询和通过电子邮件发送结果的最佳方法

时间:2015-02-04 14:13:54

标签: python sql database email

我不确定SQL是最适合执行手头的任务,还是批处理或Python脚本来运行SQL。只是寻找你的想法和任何想法非常感谢!以下是我要做的事情。如果您需要其他信息以便我获得最佳回复,请与我们联系!

我们有一个不断更新的现有数据库。我需要做的是每天运行一个查询,并将结果通过电子邮件发送到特定的电子邮件地址。每天我都希望脚本只获取前15个结果。它需要按截止日期排序。我们有一个已完成的列,但它不需要在报告中显示,但我想我在查询中需要它,因此结果可以每天更新。在DB中的所有列中,我只需要查询大约6并在结果中显示除完成列之外的所有6个。

如果可能,我希望电子邮件将结果包含在HTML格式中而不是附件中。我的SQL非常生疏,我不记得曾经学过如何使用HTML。以下是我到目前为止,但最后一行不起作用。在此先感谢您的帮助!

SELECT [2015 E-Rate Projects].AD, 
[2015 E-Rate Projects].ISR, 
[2015 E-Rate Projects].[Potential Customer], 
[2015 E-Rate Projects].[OppID], 
[2015 E-Rate Projects].[Due Date]
FROM [2015 E-Rate Projects]
WHERE ((([2015 E-Rate Projects].[Response complete])="No"))
ORDER BY [2015 E-Rate Projects].[Due Date]
SELECT TOP 15; 

1 个答案:

答案 0 :(得分:2)

如果我理解正确你需要每天使用python cron https://pypi.python.org/pypi/python-crontab来执行脚本,请参阅文档。 写脚本:

现在为了建立连接你需要安装python-mysql包,如果使用mysql

How do I connect to a MySQL Database in Python?

for oracle db在python中使用cx_Oracle

关注链接 http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/OOW11/python_db/python_db.htm

此链接将帮助您创建所需的脚本..

对于电子邮件部分,您可以使用python-smtplib https://docs.python.org/2/library/smtplib.html

关注访问db What do I need to read Microsoft Access databases using Python?