@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

DB接続の一元化

1
投稿者投稿内容
hnk
常連さん
会議室デビュー日: 2003/03/19
投稿数: 46
投稿日時: 2003-08-12 03:50
VB.NETにて、WEBアプリを開発しています。
複数のフォームにて、SQLサーバーにDB接続(sqlconection)していますが、
これを一元管理する、最適な方法は、ありませんか?
接続先は、すべて一緒なので、もし接続先が変わったときには、
一箇所を、変更するだけでよい状態にしたいです。

よろしくお願いいたします。
ken
会議室デビュー日: 2003/08/12
投稿数: 7
投稿日時: 2003-08-12 07:23
普通にDBConnection用に、クラスを作るということではなくてですか?

DB接続、SQL発行まわりは、それようにクラスつくって、各フォームなど
呼び出し元では、それらをインスタンス化して使用するというのがいいか
と個人的には思いますが。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-08-12 08:11
こんにちは。

専用のクラスを作って対応しています。

Serializable属性をつけ、ISerializableインタフェースをインプリメントすることでXMLシリアライズして、ファイルに保存しています。こうすることで、接続先が変わっても再コンパイルする手間を省いています。接続文字列にはパスワードも書かれているので、DES暗号化しています。

これをクラスライブラリの1つとし、クラスライブラリをプロジェクトから呼ぶことで、プロジェクト間で同じ接続文字列を使っています。
未記入
ベテラン
会議室デビュー日: 2002/09/10
投稿数: 68
投稿日時: 2003-08-12 09:05
もう少しお手軽な方法として動的プロパティを使う方法もあるかと思います。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/Vbcon/html/vboriapplicationsettingsinservercomponents.asp

接続文字列にパスワードを含む場合は、確かにセキュリティ的に問題ありですが...。


[ メッセージ編集済み 編集者: 仕様書無しさん 編集日時 2003-08-12 09:10 ]
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2003-08-12 12:50
VB.NETに限らない方法ですが、デザインパターンのSingltonパターンはいかがでしょうか。
外部リソースへの接続管理を一ヵ所でという目的が主でしたらお勧めですよ。
hnk
常連さん
会議室デビュー日: 2003/03/19
投稿数: 46
投稿日時: 2003-08-14 04:09
ありがとうございます。
解決しました。
アイティメディア藤村
@ITスタッフ
会議室デビュー日: 2001/07/27
投稿数: 244
お住まい・勤務地: 飯能<->丸の内
投稿日時: 2003-08-14 09:36
藤村です。皆さん、書き込みありがとうございます。

kenjiさんにお願いです。何人かの方々が解決法をアドバイスされています。
どれを(あるいは、それ以外の方法を?)使うことで「解決」されたのか、ぜひ書き込んでください。
これからkenjiさんと同じような疑問に突き当たる方の参考になると思いますよ。

この会議室で得られた知識は、ぜひ周囲の方にもまた分けてあげましょう。
_________________
アイティメディアの藤村からでした。
1

スキルアップ/キャリアアップ(JOB@IT)