業務前提 : 我在實際工作中有這樣一項任務 , 等待數據庫中新增債券代碼的完成
這些代碼一般都是新發行的債券
我只需要監控一下代碼的添加完成情況
主要是定時執行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腳本了
謝謝!