2016-03-26 23 views
1

Python içinde yazdığı senaryoyu denemek de fdb.fbcore.Cursor nesne,:Python 3.5.1 ve fdb 1.5.1 - 0x00175BB0

  • Firebird veritabanına bağlanmak

  • bağlı seçkin yürütmek Her bir sonuç kaydı için SELECT tarafından veritabanı rerutn adresinden e-posta gönderin.

Kullanıyorum: Windows Vista x64 SP2, Python sürüm 3.5.1, firebird sürücüsü fdb 1.5.1. 0x00175BB0

Lütfen öneri de fdb.fbcore.Cursor nesnesi:

takip script kullanarak sonra e-posta iletisi alırsınız.

# -*- 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

:

Bunun yerine kullanmak gerekir. 'Execute' yöntemi, imlecin kendisini döndürür (bu yüzden 'select' ve' cur' aynı nesnedir). –

cevap