微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为SQL Server / Linux堆栈的python / pyodbc / unixODBC / MS ODBC驱动程序11设置数据库连接超时?

我一直无法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 – 将大量文件存储为单个资源

在unix中运行sqlplus后台

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] 举报,一经查实,本站将立刻删除。

相关推荐