在python中可以在下面的代码中添加连接超时,如果可能的话请帮助我
connectionString = "Provider=SQLOLEDB.1;Data Source="+options.server+";Initial Catalog="+options.database+";Integrated Security=SSPI"
Connection = win32com.client.Dispatch('ADODB.Recordset')
Connection.ActiveConnection = connectionString
Connection.ActiveConnection.CommandTimeout = 3600
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为您必须积极创建(并打开)连接:
conn = win32com.client.Dispatch('ADODB.Connection')
conn.CommandTimeout = 3600
conn.Open(connection_string)
然后你可以做类似的事情:
rs = win32com.client.Dispatch('ADODB.RecordSet')
rs.Open(qry, conn)
(我猜你也可以设置记录集的ActiveConnection
和CommandText
等等然后执行,但我一直认为Open()
是更简单的方法,而且我的知识至少说api是生锈的......)
就个人而言,我发现使用遵循标准Python db api的模块更容易,例如adodbapi(包含在你已经使用的pywin32中),它也使用COM api,但需要处理“引擎盖下”,或pyodbc。
adodbapi的例子:
conn = adodbapi.connect(conn_string, timeout=3600)
cur = conn.cursor()
cur.execute(qry)
最后一个提示:看一下sqlalchemy,这会让事情变得更容易(即使你没有使用像ORM这样的其他东西)