我正在编写一些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秒时,改变命令超时在连接字符串似乎不工作?
或者,您可以这样做:
import adodbapi
adodbapi.connect(connectionString, 100)
第二个参数是超时时间
在连接或命令对象本身上指定命令超时,而不是在连接字符串中指定。查看ADO连接对象的参考资料
此站点列出了您可以在连接字符串中设置的所有选项,但命令超时似乎不在其中。
如果你在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