业务前提 : 我在实际工作中有这样一项任务 , 等待数据库中新增债券代码的完成
这些代码一般都是新发行的债券
我只需要监控一下代码的添加完成情况
主要是定时执行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脚本了
谢谢!