ホーム - 業務アプリ - データベース接続

データベース接続

業務アプリケーションでは、データベースへのアクセスが必須となります。該当の業務アプリケーションで主として使用するデータベース以外にも、他のアプリケーションが主に使っているデータベースの情報を閲覧することもあります。ですので1つの業務アプリケーションで複数のデータベースを取り扱うこともしばしばです。

「YWorks Software Framework(以下、YWSFと呼びます)」では、業務アプリケーションで必要とする全てのデータベース接続をコネクションマネージャ(YCConnectionManager)というクラスが管理しています。YCConnectionManagerはデータベース接続クラス(YCConnectionクラス)を保持しています。

YCConnectionManagerはSingletonパターンで実装されています。ですのでインスタンスの呼び出しは「YCConnectionManager.Instance」という記述で行います。 データベース接続の登録は起動ルーチンにて行います。業務アプリケーションが主として使うメインのデータベース接続はStartupConnectionメソッドを使用します。また、メインのデーベース接続はYCConnectionManager.Instance.Connectionプロパティを参照することで取得できます。

YWSFではデータベース接続(YCConnectionクラスのサブクラス)に3種類のクラスを用意しています。

YCSQLConnection
SQL Serverに接続するためのクラスです。
YCOleDbConnection
OLE DB(ODBC接続を発展させたものです)を使ってデータベース接続するクラスです。SQL Server以外で使用します。
YCOdbcConnection
ODBC接続を使ってデータベース接続するクラスです。SQL Server以外で使用します。


また、YCSQLConnection(及びSQLConnection)を使う場合のデータベース接続文字列のサンプルは下記のようになります。
(SQL Server 2005 Express Edition)
Data Source=.\SQLEXPRESS;AttachDbFilename=「データファイル(*.mdf)ファイルへのパス」;Integrated Security=True;Connect Timeout=30;User Instance=True;

(SQL Server)
User ID=「ユーザID」;Password=「パスワード」;Initial Catalog=「データベース名」;Data Source=「ホストアドレス」;
				


メイン以外のデータベース接続はAddSubConnectionメソッドで名前を付けて登録し、GetSubConnectionメソッドで名前を指定して取得します。

コネクションマネージャは業務アプリケーション終了時にDispose(利用されなくなったときの後処理です)が実行されます。その際に管理しているデータベース接続(YCConnectionクラス)を全てDisposeします。

データベース接続クラス(YCConnectionクラス)はインスタンス一つがデータベース接続一つを表しています。YConnectionクラスでは結果セットを必要としないSQLの実行やトランザクションの管理、読み取り専用の結果セット(DataReader)の生成などを行うことができます。