2017-10-17 19 views
0

私はわずか数年間プログラミングしており、データアクセスにはデフォルトのdllが使用されています。現時点では、データマイニングやサイトスクレイピングが行われているようですが、SQLデータベース接続に問題はありませんが、as/400にアクセスするプログラムの多くは、時間。私はデフォルトのデータアクセスDLLを調べ、それぞれの機能の後に接続を閉じるコードを追加しましたが、それは役に立たなかった。私はdb2/as/400の経験がほとんどありません。これらのオープン/アイドル接続をすべてコードからクローズするにはどうすればよいですか?db2400/as/400への接続を終了しないプログラム

+0

データベース接続を操作するときは、常に「使用」を使用する必要があります。これにより、接続が正しく閉じられ、オブジェクトが破棄されます。 https://stackoverflow.com/questions/5243398/will-a-using-block-close-a-database-connection – VDWWD

+0

私たちは 'using'を使用していますが、実際にはこの問題の一部となります/ 400 - それは可能ですか? – deebs

答えて

1

接続プールを使用している場合は、設計どおりに動作しています。

実際に接続が開いていますか?どのようにそれを決定していますか?

IBM i上のQZDASOINITジョブによって保持されているロックが表示されているのであれば、これも設計によるものです。システムは、最初の使用後にテーブル(カーソル)を強制的に閉じます。同じジョブで再度使用すると、システムはそれらを疑似クローズします。それらが再使用されるときより速い応答を提供するために。

排他アクセスを必要とする操作が試行されると、システムは擬似クローズカーソルを強制的に閉じます。

+0

私は接続プールを使用していると思います。私はそれをテストとして無効にしたいのですが、それはどのような意味がありますか? – deebs

+1

@deebs、新しい接続が繰り返し開いたり閉じたりすると、パフォーマンスが低下するだけです。 – Charles

関連する問題