2

構成を変更するだけで DB2 接続タイムアウトを修正できますか?

次のバージョンの db2 クライアント接続ソフトウェアを実行していることに注意してください。

Y:\>db2level
DB21085I  Instance "DB2" uses "32" bits and DB2 code release "SQL08015" with
level identifier "02060106".
Informational tokens are "DB2 v8.1.5.449", "s040212", "WR21334", and FixPak
"5".

Configuration Assistant を立ち上げたときに、QueryTimeout 値を設定するための接続レベルのオプションがあるように見えることに気付きました。

ここに画像の説明を入力 ただし、値を変更したかったのです。「更新」ボタンがなく、追加のみだったので、設定を削除して再度追加して変更する必要があるのではないかと思いました。ただし、再度追加しようとすると、QueryTimeOout 設定がリストにありませんでした。

ここに画像の説明を入力

どこかで構成ファイルを更新した可能性があります。これが、設定が最初に導入された方法です。覚えていない。

  1. これらの設定を含むファイルの場所を見つけることができる場所を知りたいです。

  2. この設定、新しいバージョンの db2 クライアントを使用している別のユーザーの PC で使用できます。彼の PC で 0 に設定すると、プログラムのデフォルトの CommandTimeout 設定が上書きされますか? 私のPCではクエリがタイムアウトせず、他のユーザーのPCでのみタイムアウトすることに注意してください。

  3. この WinForm アプリの app.config ファイルで ConnectionString を変更して、オプション「QueryTimeout=0」を含めようとしました

connectionString="Database=MyServer;Server=MyHost.MyCompany.com:MyPortNumber;UID=MyuserId;PWD=MyPassword;QueryTimeout=0"

しかし、次のエラーが表示されます。

追加情報: 引数が無効です

この ConnectionString 設定に関するドキュメントは次のとおりです私は何を間違っていますか?

QueryTimeout キーワードの値を取得または設定します。QueryTimeout は、実行をキャンセルしてアプリケーションに制御を戻そうとする前に、SQL ステートメントまたは XQuery 式の実行が完了するまで待機するデフォルトの秒数を示します。この属性は、デフォルトの 30 秒の DB2Command.CommandTimeout 値をオーバーライドします。

4

2 に答える 2

1

db2 コマンドライン (db2cmd) から次のことを試してください。

    db2"update cli configuration for section common using querytimeoutinterval 60"

時間を 60 秒に設定します。

于 2012-11-03T00:27:48.760 に答える
0

30 秒後にクエリをキャンセルするには、app.config ファイルで「QueryTimeout=30」を設定する必要があります。QueryTimeout は CLI キーワードではないため、構成支援または db2 コマンド ライン ツールを使用して CLI パラメータとして設定することはできません。これは、app.config ファイルまたは db2dsdriver.cfg ファイルで設定するか、ステートメント属性 SQL_ATTR_QUERY_TIMEOUT を設定して設定できます。

QueryTimeoutInterval のデフォルト値は 1 秒です。タイムアウトが発生したかどうかを 1 秒ごとにチェックします。これは CLI キーワードであり、db2cli.ini ファイルに追加できますが、.NET プログラムには効果がありません。.NET アプリケーションが db2cli.ini ファイルを読み取らない。

于 2014-11-29T19:31:00.260 に答える