【问题标题】:Python database connection and resultset into stringPython数据库连接和结果集成字符串
【发布时间】:2015-01-27 11:32:19
【问题描述】:

我几乎完成了一个脚本,该脚本将检查一个表格并通过电子邮件发送这个结果。虽然我收到了这个错误。

No results.  Previous SQL was not a query.

这就是我的脚本的样子。

import os
import sys
import pyodbc
import smtplib

# Set up mail info
FROM = "it@company.se"
TO = ["pd@company.se"] # must be a list
TEXT = "Dialer import status "
SUBJECT = "Dialer import status"

#Defining variables for script 
try:
    cnxn = pyodbc.connect('DRIVER={SQL  Server}
    ;SERVER=sesrv413;DATABASE=Maintenance;Trusted_Connection=yes')
    cursor = cnxn.cursor()
    query = "Select status from dialer_import_status"
    rows =  cursor.fetchall()
    for row in rows:
    TEXT = TEXT + str(row.status)

except:
# Send the mail
  server = smtplib.SMTP("email.intrum.net",25)
  message = "From:%s \nTo:%s \nSubject:%s 
  \n\n%s\n" %(FROM, ", ".join(TO),  SUBJECT, TEXT)
  server = smtplib.SMTP("email.company.net",25)
  server.sendmail(FROM, TO, message)
  server.quit()
  raise

以前有没有人遇到过类似的问题?你是怎么解决的?

干杯

【问题讨论】:

    标签: python sql-server-2008 python-2.7 pyodbc


    【解决方案1】:

    没有执行查询,因为您忘记在cursor.fetchall() 之前调用cursor.execute(query)。

    【讨论】:

    • 我需要导入一些东西才能使用执行吗?比如 Import pyodbc 等。我是 shell 脚本的新手
    • 不,只是调用游标对象上的方法。我修复了我的代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多