Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 运行每日SQL查询和通过电子邮件发送结果的最佳方法_Python_Sql_Database_Email - Fatal编程技术网

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

Python 运行每日SQL查询和通过电子邮件发送结果的最佳方法,python,sql,database,email,Python,Sql,Database,Email,我不确定SQL是执行手头任务的最佳方式,还是批处理或Python脚本来运行SQL。只需寻找您的想法和任何想法,我们将不胜感激!下面是我要做的。如果您需要其他信息以获得最佳回复,请告诉我 我们有一个正在不断更新的现有数据库。我需要做的是每天运行查询,并将结果通过电子邮件发送到特定的电子邮件地址。每天我都希望脚本只获取前15名的结果。它需要按到期日排序。我们有一个“已完成”列,但它不需要在报告中显示,但我可以想象,我需要在查询中显示它,以便每天更新结果。在数据库中的所有列中,我只需要查询大约6列,并

我不确定SQL是执行手头任务的最佳方式,还是批处理或Python脚本来运行SQL。只需寻找您的想法和任何想法,我们将不胜感激!下面是我要做的。如果您需要其他信息以获得最佳回复,请告诉我

我们有一个正在不断更新的现有数据库。我需要做的是每天运行查询,并将结果通过电子邮件发送到特定的电子邮件地址。每天我都希望脚本只获取前15名的结果。它需要按到期日排序。我们有一个“已完成”列,但它不需要在报告中显示,但我可以想象,我需要在查询中显示它,以便每天更新结果。在数据库中的所有列中,我只需要查询大约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; 

如果我理解正确,您需要每天使用python cron来执行脚本,请参阅文档。 书写脚本:

现在为了进行连接,如果使用mysql,您需要安装python mysql包

对于oracle数据库,请在python中使用cx_oracle

跟踪链接

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

对于电子邮件部分,您可以使用python smtplib

跟踪访问数据库

从标签上看,我想他正在使用Oracle.included Oracle package link.hi!我没有具体说明是我的错。它实际上只是一个访问数据库。也许“选择前15名”应该在顶部?在python中使用PYODBC库访问数据库。太棒了!谢谢你,孩子!非常感谢!