- - PR -
[ADO.NET]Connectionオブジェクトについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-06-13 11:28
こんにちわ。
アキミと申します。 Webアプリケーション開発におけるDBへのConnectionオブジェクトに ついてなのですが、 ・トランザクションごとにConnectionを貼るのか ・アプリケーションオブジェクトでConnectionを共有するのか で迷っています。 参考文書等を読んでも、アプリケーションオブジェクトでConnection を共有化しているような例を見たことがないので、一般的な手法では ないのかとおもっているのですが、同じDBへ接続し続けるのであれば アプリケーションオブジェクトで共有した方が、楽な気もします。 ADO.NETでWebアプリケーションを開発されている方々はどのように 行われているのでしょうか? |
|
投稿日時: 2003-06-13 20:03
データベースに接続する本当にギリギリ直前にOpenし、使い終わったら即刻Closeします。これ以外に有効な手順は存在しません。Applicationで共有などということは絶対にしてはいけません。OpenとCloseがメソッドをまたがることなどありえません。
|
|
投稿日時: 2003-06-14 11:12
「トランザクションごとにConnectionを貼る」が正解でしょう。NothingButXMLInfoSetさんのおっしゃるとおり、OpenとCloseの間は、なるたけ簡潔にすることに勤めます。
DBはSQLServerですか? おそらく、同時Connection数が増えていくイメージを持っているかと思いますが、 SQLServer2000なら、ConnectionPoolingの機能があり、OpenするたびにConnectionStringが切り替わるようなことが無ければ有効になるので、あまり危機感を感じる必要も無いかと思います。。。 |
|
投稿日時: 2003-06-15 13:37
NothingButXMLInfoSetさん、GUNNMさん、ありがとうございます。
理解することができました。 GUNNMさんのおっしゃるとおり「処理ごとにConnectionを貼るのはもったいないなぁ」 という考えがあったので、共有化を考えていました。 SQLServerにそのような機能があることを知りませんでした。勉強になります。 DBへの接続、レコードの取得処理は関数でまとめて、プログラム中でOpen,Closeを意識 しないように作ってみようと思います。 |
1