如何在 pywin32 中更改命令超时。 'Open' 方法
How to change command timeout in pywin32. 'Open' method
我在使用 pywin32 库并尝试连接到 OLEDB 时遇到问题。
回溯
Traceback (most recent call last):
File "<input>", line 35, in <module>
File "<input>", line 31, in ado
File "<COMObject ADODB.Recordset>", line 4, in Open
the XML parser for analysis: the response Time for the XML for analysis request timed out before it was completed.', None, 0, -2147467259), None)
我尝试将 Connect Timeout=1000
添加到我的 connectionstring
中,但没有成功。
代码
import win32com.client
import pyodbc
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = CONNECTION_STRING
conn.Open(DSN)
rs = win32com.client.Dispatch(r'ADODB.Recordset')
strsql = u"""
select
...
...
...
"""
h = rs.Open(strsql, conn,0,1)
ts = rs.GetRows()
conn.Close()
return ts
我认为问题出在这里:
h = rs.Open(strsql, conn,0,1)
我看不出应该将哪些参数传递给 'Open'。但是我觉得它必须有超时参数。
如何更改命令超时?
问题解决加入:
conn.CommandTimeout=3000
我在使用 pywin32 库并尝试连接到 OLEDB 时遇到问题。
回溯
Traceback (most recent call last):
File "<input>", line 35, in <module>
File "<input>", line 31, in ado
File "<COMObject ADODB.Recordset>", line 4, in Open
the XML parser for analysis: the response Time for the XML for analysis request timed out before it was completed.', None, 0, -2147467259), None)
我尝试将 Connect Timeout=1000
添加到我的 connectionstring
中,但没有成功。
代码
import win32com.client
import pyodbc
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = CONNECTION_STRING
conn.Open(DSN)
rs = win32com.client.Dispatch(r'ADODB.Recordset')
strsql = u"""
select
...
...
...
"""
h = rs.Open(strsql, conn,0,1)
ts = rs.GetRows()
conn.Close()
return ts
我认为问题出在这里:
h = rs.Open(strsql, conn,0,1)
我看不出应该将哪些参数传递给 'Open'。但是我觉得它必须有超时参数。
如何更改命令超时?
问题解决加入:
conn.CommandTimeout=3000