.NET を使用したデータベースへの接続
ここでは、IRISConnection オブジェクトを使用して、.NET クライアント・アプリケーションとインターシステムズ・サーバ間の接続を作成する方法を説明します。
.NET との接続の確立
以下に示すコードでは、USER というネームスペースへの接続を確立します。接続オブジェクトをインスタンス化する場合に設定できるパラメータの完全なリストについては、“接続パラメータのオプション” を参照してください。
以下の簡単なメソッドを呼び出して接続を開始できます。
public IRISConnection Conn;
private void CreateConnection(){
try {
Conn = new IRISConnection();
Conn.ConnectionString =
"Server=localhost; Port=51773; Namespace=USER;"
+ "Password=SYS; User ID=_SYSTEM;";
Conn.Open();
}
catch (Exception eConn){
MessageBox.Show("CreateConnection error: " + eConn.Message);
}
}
このオブジェクトを作成しておくと、そのオブジェクトを必要とするすべてのクラス間で共有できます。接続オブジェクトは、必要に応じて開いたり閉じたりできます。この操作は、Conn.Open() および Conn.Close() を使用して明示的に実行できます。ADO.NET の Dataset を使用している場合は、DataAdapter のインスタンスにより、必要に応じて自動的に接続が開閉します。
.NET クライアント接続のトラブルシューティング
インターシステムズ・サーバに接続しようとする .NET クライアントには、以下の情報が必要です。
-
サーバ IP アドレス、ポート番号、およびネームスペースを指定する URL。
-
接続でパスワードを使用する場合は、大文字と小文字を区別するユーザ名とパスワードを指定する必要があります。
問題が発生した場合は、以下の点を確認してください。
-
サーバ・プロセスがインストールされていて実行中であることを確認します。
-
サーバ・プロセスを実行しているマシンの IP アドレスを確認します。
-
待ち受け状態になっているサーバの TCP/IP ポート番号を確認します。
-
接続を確立する際に、有効なユーザ名とパスワードを使用していることを確認します(ユーザ名とパスワードは、管理ポータル (System Administration > Security > Users) を使用して管理できます)。
-
接続 URL に有効なネームスペースが記述されていることを確認します。ネームスペースは、プログラムで使用するクラスとデータを含む必要があります。
.NET での接続プーリング
接続プーリングは既定で有効になっています。以下の接続文字列パラメータを使用すると、接続プーリングのさまざまな機能を制御できます。
-
Pooling — 既定は true です。接続プーリングを使用しない接続を作成するには、Pooling を false に設定します。
-
Min Pool Size および Max Pool Size — 既定値は 0 および 100 です。これらのパラメータを設定して、この特定接続文字列で接続プールの最大サイズと最小 (初期) サイズを指定します。
-
Connection Reset および Connection Lifetime — Connection Reset を true に設定すると、プールされた接続のリセット・メカニズムが有効になります。Connection Lifetime は、アイドル状態のプールされた接続をリセットするまで待機する秒数を指定します。既定値は 0 です。
例えば以下の接続文字列は、接続プールの初期サイズを 2、接続の最大数を 5 に設定し、最大接続アイドル時間を 3 秒にして接続のリセットを有効にします。
Conn.ConnectionString =
"Server = localhost;"
+ " Port = 51774;"
+ " Namespace = USER;"
+ " Password = SYS;"
+ " User ID = _SYSTEM;"
+ " Min Pool Size = 2;"
+ " Max Pool Size = 5;"
+ " Connection Reset = true;"
+ " Connection Lifetime = 3;";
コネクション・プールのさまざまなメソッドとプロパティの詳細は、“.NET Managed Provider のクイック・リファレンス” を参照してください。