Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

L'argument de délai d'attente pyodbc.connect est ignoré pour les appels à SQL Server

Ajouter Connection.timeout affectation variable à votre code. La valeur par défaut est 0 (timeout désactivé), attendu en secondes.

import pyodbc
import time

connString = 'SERVER=dbserver;PORT=1433;DATABASE=db;UID=dbuser;PWD=dbpwd;' + \
             'DRIVER=FreeTDS'
cnxn = pyodbc.connect(connString)
cnxn.timeout = 3
cursor = cnxn.cursor()

t1  = time.time()
cursor.execute("SELECT MAX(Qty) FROM big_table WHERE ID<10000005")
print cursor.fetchone()
t2 = time.time()
print t2-t1

cursor.execute("WAITFOR DELAY '00:00:30'")
print 'OK'