1

アクセスできるMSSQLサーバーとやり取りするためのpythonを書いています。私が現在抱えている問題は、トランザクション ステートメントの 1 つが、デフォルトで設定されているタイムアウト期間 (30 秒) を過ぎていないことです。

これが問題にならないように、接続文字列の Command Timeout の値を 0 に変更しようとしましたが、Command Timeout キーワードはサポートされていないと言われています。

ここに私の接続文字列があります:

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 秒より長く設定する方法を知っている人はいますか?

4

3 に答える 3

2

または、次のようなこともできます。

import adodbapi 
adodbapi.connect(connectionString, 100)

2 番目のパラメーターはタイムアウトです。

于 2012-05-03T15:36:17.813 に答える
1

コマンドタイムアウトは、接続文字列ではなく、接続またはコマンドオブジェクト自体に指定します。ADO接続オブジェクトについては、このリソースを確認してください。

于 2011-12-30T23:17:04.913 に答える
1

このサイトには、接続文字列で設定できるすべてのオプションがリストされていますが、コマンドタイムアウトはそれらの1つではないようです。

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
于 2011-12-30T23:19:16.770 に答える