掲示板お問い合わせランダムジャンプ



この広告は30日以上更新がないブログに表示されております。 新しい記事を書くことで広告を消すことができます。

Top Index

2010年04月18日
データベースの接続先を柔軟に切り替える
[VB][dbcon]
データベースアプリケーションを作成する場合、
デバッグ環境とリリース環境が違うことがよくあります。

というわけで、アプリケーション構成ファイルを使って、
データベース接続先を簡単、柔軟に切り替えるフレームワーク「dbcon」を作成いたしました。

参考サイト
・.NET Developer Empire
アプリケーション構成ファイル(App.config)にカスタム構成セクションを追加する
http://blogs.wankuma.com/tatsumihr/articles/79793.aspx
・MSDN
方法 : ConfigurationSection を使用してカスタム構成セクションを作成する
http://msdn2.microsoft.com/ja-jp/library/2tw134k3(vs.80).aspx

アプリケーション構成ファイル記述例はこんな感じ。
01<?xml version="1.0" encoding="utf-8" ?>
02<configuration>
03
04  <configSections>
05    <section name="dbcon"
06             type="mk3008.dbcon.Model.DbconSectionHandler, dbcon"/>
07  </configSections>
08
09  <!--環境リストと実行環境-->
10  <dbcon running-on="debug">
11
12    <!--開発環境-->
13    <environments>
14      <environment name="debug">
15        <connectors>
16          <connector name="a-system">
17            <assembly path="dbcon.PlugIn.SqlCe.dll" type="mk3008.dbcon.PlugIn.SqlCe.SqlCeConnector"/>
18            <parameter cn-string="Data Source=data/SystemAdebugDB.sdf"/>
19          </connector>
20          <connector name="b-system">
21            <assembly path="dbcon.PlugIn.SqlCe.dll" type="mk3008.dbcon.PlugIn.SqlCe.SqlCeConnector"/>
22            <parameter cn-string="Data Source=data/SystemBdebugDB.sdf"/>
23          </connector>
24        </connectors>
25      </environment>
26
27      <!--リリース環境-->
28      <environment name="release">
29        <connectors>
30          <connector name="a-system">
31            <assembly path="dbcon.dll" type="mk3008.dbcon.DataAccess.SqlConnector"/>
32            <parameter cn-string="Data Source=data/SystemAreleaseDB.sdf"/>
33          </connector>
34          <connector name="b-system">
35            <assembly path="dbcon.dll" type="mk3008.dbcon.DataAccess.SqlConnector"/>
36            <parameter cn-string="Data Source=data/SystemBreleaseDB.sdf"/>
37          </connector>
38        </connectors>
39      </environment>
40    </environments>
41
42  </dbcon>
43
44</configuration>

dbcon要素のrunning-on属性を変更することで、切り替えが出来ます。
要素の構造はこんな感じ。
DbSectionHandlerDiagram

各要素の説明
・configSections, section要素
ここは決め打ちですので、サンプルそのままご利用下さい。

・dbcon要素
コンフィグのルート要素です。
running-on属性に実行環境名を指定します。

・environment要素
環境を定義します。
name属性に環境名を指定します。

・connetctor要素
接続条件を定義します。
name属性に接続名を指定します。
接続名はハードコーディングする必要があります。

・assembly要素
接続に使用するアセンブリを定義します。
path属性にはdllファイル名をしています。
type属性には接続に使用する型を指定します。
※どのようなデータベースにも接続できるよう、
 データベース環境に適した接続クラスを生成するクラス(プラグイン可)を通しています。
 拡張するのに重要なことですが、今回は説明省略・・・

・パラメーター属性
接続に使用するパラメータを定義します。
cn-string属性に接続文字列を定義します。
[ 投稿者:mk3008 at 20:56 | フリーウェア | コメント(0) | トラックバック(1) ]

この記事へのコメント

この記事へのトラックバック
MConfig ver1.0 リリース
VS2010+...
投稿者: VB.NETで作る! at 2014-04-12 17:38:08

この記事へのトラックバックURL
http://shinshu.fm/MHz/88.44/a03194/0000322412.trackback

この記事の固定URL
http://shinshu.fm/MHz/88.44/archives/0000322412.html

記事へのコメント
 
簡単演算認証: 2 x 1 + 5 =
計算の答えを半角英数字で入力して下さい。
名前: [必須]
URL/Email:
タイトル:
コメント:
※記事・コメントなどの削除要請はこちら