python獲取oracle數據通過郵件發送
时间: 2023-09-18 19:14:34 浏览: 51
要通过 Python 获取 Oracle 数据并通过邮件发送,你需要使用 Oracle 的 Python 模块 cx_Oracle 和 Python 的内置模块 smtplib。以下是一个简单的示例代码:
```python
import cx_Oracle
import smtplib
from email.mime.text import MIMEText
# 连接 Oracle 数据库
db = cx_Oracle.connect('username/password@host:port/service_name')
# 执行 SQL 查询
cursor = db.cursor()
cursor.execute('SELECT * FROM my_table')
# 获取查询结果
results = cursor.fetchall()
# 关闭数据库连接
cursor.close()
db.close()
# 将查询结果转换为字符串
results_str = ''
for row in results:
results_str += str(row) + '\n'
# 发送邮件
sender_email = 'sender@example.com'
recipient_email = 'recipient@example.com'
smtp_server = 'smtp.example.com'
smtp_port = 587
smtp_username = 'username'
smtp_password = 'password'
msg = MIMEText(results_str)
msg['Subject'] = 'Oracle 数据查询结果'
msg['From'] = sender_email
msg['To'] = recipient_email
smtp_conn = smtplib.SMTP(smtp_server, smtp_port)
smtp_conn.ehlo()
smtp_conn.starttls()
smtp_conn.login(smtp_username, smtp_password)
smtp_conn.sendmail(sender_email, recipient_email, msg.as_string())
smtp_conn.quit()
```
请注意,你需要根据实际情况修改连接 Oracle 数据库的参数和发送邮件的参数。另外,如果查询结果较大,你可能需要将其分成多个部分并分多次发送。
阅读全文