2016-03-26 9 views
1

私はPythonで書いたスクリプトを試しにfdb.fbcore.Cursorオブジェクト:のPython 3.5.1&1.5.1 FDB - 0x00175BB0

  • は、Firebirdのデータベースに接続するには、

  • 接続で選択実行しますデータベース

  • SELECTによってデータベースrerutnから各結果レコードの電子メールを送信します。

Windows Vista x64 SP2、Pythonバージョン3.5.1、Firebirdドライバfdb 1.5.1を使用しています。 0x00175BB0

してください提案でfdb.fbcore.Cursorオブジェクト:

次のスクリプトを使用した後、私は電子メールメッセージを受信します。

# -*- coding:utf-8 -*- 

import smtplib 
from email.mime.text import MIMEText 

import fdb 
con = fdb.connect(host='127.0.0.1', database='test', user='SYSDBA', password='masterkey', charset='WIN1250') 

to = ['[email protected]'] 
cc = ['[email protected]'] 
bcc = ['[email protected]'] 
from_addr = '[email protected]' 
message_subject = "Say Hello" 

cur = con.cursor() 
select = cur.execute("select telephone from person") 
#message_text = "%a" % (select) 
message_text = (select) 

message = "From: %s\r\n" % from_addr \ 
     + "To: %s\r\n" % ",".join(to) \ 
     + "CC: %s\r\n" % ",".join(cc) \ 
     + "BCC: %s\r\n" % ",".join(bcc) \ 
     + "Subject: %s\r\n" % message_subject \ 
     + str(message_text) 
to_addrs = to + cc + bcc 
server = smtplib.SMTP('smtp.gmail.com', 587) 
server.starttls() 
server.login('xxxxxx','xxxxxx') 
#server.set_debuglevel(1) 

#for message_text in cur.fetchall(): 
# print(message_text) 

for message_text in cur.fetchall(): 
    server.sendmail(from_addr, to_addrs, message) 

server.quit() 
con.close() 
+1

は、代わりにあなたが使用する必要があります。 'execute'メソッドはカーソル自体を返します(' select'と 'cur'は同じオブジェクトです)。 –

答えて

関連する問題