- - PR -
web.configでのDBの設定について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-04 21:54
こんばんは。
みゆきです。 asp.net2.0(言語VB)で行っています。 web.configに以下の用にDBの接続文字列を指定しています。 <configuration> <appSettings/> <connectionStrings> <add name="aaa" connectionString="Data Source=(local);Initial Catalog=aaa;User ID=aaa;Password=aaa" providerName="System.Data.SqlClient"/> </connectionStrings> そこでこのようにdbに対するテーブルの設定を行いたいと思っているのですが、行うことは可能でしょうか? 現状Global.asaxの Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)にテーブルの名前をセッション 情報として格納しているのですが、web.configにDB系の情報を格納したいと思っています。 アドバイスの程をどうかよろしくお願いします。 | ||||||||
|
投稿日時: 2006-10-04 22:05
テーブルの名前ってそんな頻繁に変わらないから(というか全く変わらないから)、直にソースに書いてもいいと思うんですけど…。
_________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-10-05 00:09
こんばんは。
みゆきです。 囚人様、さっそくのご返答ありがとうございます。 その通りなのですがどうしても行いたいので。 また、もしセッション変数等も格納できるのであれば 一緒に格納したいと思っていました。 | ||||||||
|
投稿日時: 2006-10-05 00:33
設定ファイルにテーブル名を書いておきたいってことです?
web.configのappSettingsに書くことはできますよ。ConfigurationManagerで取得できるようになります。 | ||||||||
|
投稿日時: 2006-10-05 00:49
みゆきです。
べる様。 お早いお返事ありがとうございます。 ちょっと今できる環境はなくて試せませんが、 べる様のヒントを元にいいサイトを見つけました。 http://www.jurapun.com/Tutorial/CSharp/WindowsAppConfig.shtml この事をおっしゃっているのですよね? | ||||||||
|
投稿日時: 2006-10-05 00:58
構成ファイルに値を追加するのはその通りです。 後、興味で訊きたいのですが、
とはどういう意味でしょうか? セッションに格納する値はその名の通り「セッションごとに持たせる値」です。 構成ファイルに書くのは「アプリケーション単位で持たせる値」です。しかも、できれば外出しにしておきたい値です。 先の投稿でも述べましたが、テーブル名は不変の筈ですし、ましてやセッションに入れるなど妙です。 セッションに入れるという事は「ユーザーごとにテーブル名が変わる」という事態を想像するのですがどうなのでしょう。もちろん有り得なくもないでしょうけども。 「セッションに格納すべき値」「構成ファイルに書いておく値」「コードに定数として持たせてよい値」というのは区別されているのでしょうか? _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-10-05 04:18
#WebConfigurationManagerってあったんだ。
たとえばSession["UserInfo"]の"UserInfo"を以下のように設定にもつ、と。 <add key="UserInfoSessionName" value="UserInfo" /> でもこうしても結局キー名(この例のUserInfoSessionName)はソースに直書きになるんですよね。 | ||||||||
|
投稿日時: 2006-10-05 10:53
セッションをどう使っているかにもよるのですが、場合によってはセッションの代わりに
プロファイルを使う、という手もあるかなぁ、と思います。 これならどういうキーを利用するかはweb.configに書くことになりますし、データは データベースに格納されます。 テーブルの件はO/Rマッピングツールがやってくれることを考えてるのかなぁ、とも 思いました。 その手のツールを調べてみるのもいいかもしれません。 |