我一直无法find一个logging的方式来设置实际工作的初始连接超时。 我不是在询问“查询超时”,而是在数据库服务器完全closures或无法访问的情况下进行初始连接尝试的超时,并且根本没有响应。 默认情况下,这样的连接在255秒后显示超时 – 是否有一种方法来设置更短的超时?
编辑:为了清楚起见,我应该在这里重申堆栈:
python
pyodbc
unixODBC(不是iODBC)
用于sql Server的MS ODBC驱动程序11(不是FreeTDS)
Linux的
NASM Linux程序集打印整数
通过一个python脚本截图。
OpenSSL和信号
运行命令在bash脚本中产生错误
创build静态库时embedded所有外部引用
如何在Linux上使用C ++查询Informix数据库? 使用Object Interface for C ++时出现编译器错误
一个进程的内存细节
C – 将大量文件存储为单个资源
Bash虽然循环不结束
https://stackoverflow.com/a/12946908/1552953
这个答案是指能够在连接上设置超时:
时间到
超时适用于由连接创建的所有游标,因此对于给定的连接无法更改。
如果发生查询超时,数据库应该用sqlSTATE HYT00或HYT01引发一个OperationalError。
注意:此属性只影响查询。 要设置实际连接过程的超时值,请使用pyodbc.connect函数的timeout关键字。
result = None with pyodbc.connect('DRIVER={sql server};SERVER=mydb;DATABASE=solarwinds;Trusted_Connection=True',timeout=1) as cnxn: cursor = cnxn.cursor() result = cursor.execute(query).fetchall()
所以使用上面的代码在1秒内没有超时,或者至少在1秒内没有返回结果。 但它确实返回的结果比没有超时设置快得多。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。