Python腳本->定時連接數據庫執行指定SQL語句


業務前提 : 我在實際工作中有這樣一項任務 , 等待數據庫中新增債券代碼的完成

這些代碼一般都是新發行的債券

我只需要監控一下代碼的添加完成情況

主要是定時執行SQL腳本 , 比較麻煩

用的是Microsoft Sql Server

所以有如下python腳本

 

 1 import time,pymssql
 2 def mytask(): #循環執行的任務
 3     conn = pymssql.connect('192.168.xxx.xxx','read', 'read', 'fcdb') #服務器地址 , 登錄賬號 , 密碼 ,數據庫名稱
 4     cursor = conn.cursor()
 5     symbol="('156911','152123')" #需要監控的債券代碼
 6     sql=("select symbol,exchange,b.entrydate,b.entrytime,bondissue12,bondissue13 from dbview_bondname a, bonddt b ,bondissue c"
 7     +" where a.bcode=b.bcode and a.bcode=c.bcode and symbol in"+symbol) #通過查詢語句查看代碼添加的完成情況
 8     cursor.execute(sql)
 9     cnt = 0
10     for row in cursor:
11         print("代碼市場:",row[:2])
12         print("錄入時間:",row[2:4])
13         print("發行起止:",row[4:])
14         cnt += 1
15     conn.close()
16     return cnt
17 def re_exe(n): 
18     cnt=mytask()
19     while not cnt:
20         print(cnt)
21         cnt=mytask()    
22         time.sleep(n)
23     print("代碼已經同步好了%d條" % cnt)
24 if __name__=='__main__':
25     re_exe(120) #設置循環執行的時間 單位是秒

結果如下圖 用的geany編輯器 

 

pymssql庫 用於連接Microsoft SQL Server數據庫

time.sleep()配合循環控制語句while 可以實現定時連接數據庫的功能

其他一些小功能就是看自己實際的需要了

如果要順走自己用的話 需要改的地方 基本都加了備注

改好之后就可以定制化Python腳本了

謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM