Python 使用pyodbc不断从数据库读取数据

Python 使用pyodbc不断从数据库读取数据,python,sql,sql-server,pyodbc,Python,Sql,Sql Server,Pyodbc,我有一个不断更新的数据库(5s间隔值),我的目的是读取数据库中更新的新数据,下面是我的第一个代码草案。但是,我一直读到代码执行时的最后一行,然后它就停止了。我需要代码不断运行,以便它获取新的数据条目(我们的数据库每5秒钟更新一次) *这可能很难理解,但主要的一点是,我只想阅读数据库中的最后一行,其中数据库每5秒钟不断更新一次。设法对其进行编码。我只是导入时间包,然后循环它,每隔6秒再次检查数据库,因为我知道数据库中的新值将每隔5秒更新一次 import csv import pyodbc se

我有一个不断更新的数据库(5s间隔值),我的目的是读取数据库中更新的新数据,下面是我的第一个代码草案。但是,我一直读到代码执行时的最后一行,然后它就停止了。我需要代码不断运行,以便它获取新的数据条目(我们的数据库每5秒钟更新一次)


*这可能很难理解,但主要的一点是,我只想阅读数据库中的最后一行,其中数据库每5秒钟不断更新一次。

设法对其进行编码。我只是导入时间包,然后循环它,每隔6秒再次检查数据库,因为我知道数据库中的新值将每隔5秒更新一次

import csv
import pyodbc

server = '*****' 
database = '******' 
username = '******' 
password = '*****' 
cnxn = pyodbc.connect('DRIVER={SQL SERVER};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("select * from marketc")

row = cursor.fetchone()
while row is not None:
    row = cursor.fetchone()
    print (row)
import csv
import pyodbc
import time

server = '*****' 
database = '******' 
username = '******' 
password = '*****' 
cnxn = pyodbc.connect('DRIVER={SQL SERVER};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("select * from marketc")

while True:
    row = cursor.fetchone()
    while row is not None:
        row = cursor.fetchone()
        print (row)
        time.sleep(6)

您需要做的第一件事是定义“最后一行”是什么。SELECT语句没有ORDERBY子句,因此不能保证结果的顺序是任何特定的。没有-最终您会发现表中的行没有特定的顺序。基于您当前的环境,您可能会有不同的想法—可能负载很轻,对资源的争夺很少。而您的代码只是在一行一行地抓取行之间休眠6秒,因此期望它抓取/显示“最后”行没有什么意义。