SqlClient连接超时

时间:2011-12-30 23:12:05

标签: python sql sqlclient

我正在编写一些python来与我有权访问的MSSQL服务器进行交互。我目前遇到的问题是我的一个交易语句没有超过默认设置的超时时间(30秒)。

我试图将连接字符串中的命令超时更改为值0,这样就不会出现问题,但是我被告知不支持命令超时关键字。

这是我的连接字符串:

conn_string='data source=localhost;initial_catalog=research;trusted_connection=True;Connection Timeout=0;Command Timeout=0'

以下是使用此连接字符串时收到的控制台消息:

Value Error: Keyword not supported: 'command timeout'

我尝试使用空格命令超时,没有空格,有/无大写字母取决于我在尝试解决此问题时正在阅读的任何支持线程。

当在连接字符串中更改命令超时时,有没有人知道将超时值设置为超过30秒的方法似乎不起作用?

3 个答案:

答案 0 :(得分:1)

您可以在连接或命令对象本身上指定命令超时,而不是在连接字符串中指定。查看this resource了解ADO连接对象。

答案 1 :(得分:1)

此站点列出all options you can set in a connection string,但命令超时似乎不是其中之一。

如果您在Windows上使用Python并且正在使用ADO,则可以在连接对象上设置命令超时:

conn = Dispatch('ADODB.Connection')
conn.ConnectionString = "Provider=SQLOLEDB.1;Data Source=localhost;" + \
  "uid=my_user_name;pwd=my_password;database=my_database_name"
conn.Open()
conn.CommandTimeout = 60

答案 2 :(得分:1)

或者,您可以这样做:

import adodbapi 
adodbapi.connect(connectionString, 100)

第二个参数是超时。