データベース構成ファイル

データベース構成ファイル (デフォルトの名前は MFDBFH.cfg) は、ネイティブ データベース ファイル ハンドラー (MFDBFH) とエンタープライズ サーバー リージョン管理に使用されます。

このファイルには、データベース サーバー インスタンスとそれらで利用できるデータベースのリスト、および接続の詳細が格納されます。現在サポートされているデータベース サーバーの種類は、Microsoft SQL Server と Azure データベース、PostgreSQL、および Db2 です。同じ構成ファイル内でタイプごとに 1 つ以上のインスタンスを構成できます。

各サーバー インスタンス要素で、利用可能な各データベースの <dsn> 要素を構成します。データベースは、いずれかの種類のデータベース、データストア、region.cas、または crossregion.cas のいずれかになります。詳細については、「データベースの種類」を参照してください。

Micro Focus では、構成ファイルの作成または編集には dbfhconfig コマンド ライン ユーティリティを使用することをお勧めします。また、データベース接続の資格情報を暗号化プロセスの背後で安全に格納できるように、Secrets Vault の使用を有効にすることをお勧めします。

MFDBFH または Enterprise Server とデータベースの接続は、マシンで構成された対応する ODBC データ ソースを使用するか、直接接続文字列 (「データベース接続文字列」を参照) を使用して確立されます。

詳細については、該当する「データストアの構成」または「リージョン データベースおよびリージョン間データベースの構成」のセクションの「<db-type> の構成ファイルの更新」のトピックを参照してください。

次の例は、3 つのサーバー インスタンスを示しています。それぞれの種類は sqlserver (名前は svr-mysqldb)、postgresql (ポート 5432 でローカルに格納)、および Db2 (場所は変数 TESTMFDBFH_DBINST_DB2 で決定) です。最初の 2 つは構成済みの ODBC データ ソース名を使用しますが、最後の 1 つ (Db2) については connect オプションで直接接続の詳細を指定しています。

<datastores usevault="true">
  <server name="svr-mysqldb" type="sqlserver" access="odbc">
    <dsn name="SS.MYMASTER" type="database" dbname="master"/>
    <dsn name="SS.VSAM" type="datastore" dsname="VSAM"/>
    <dsn name="SS.CAS.ESDEMO" type="region.cas" region="ESDEMO" feature="all"/>
    <dsn name="SS.CROSSREGION" type="crossregion.cas"/>
  </server>
  <server name="${VAR2AZDB}" type="azuresqldb" access="odbc">
    <dsn name="AZ.MYMASTER" type="database" dbname="master" userid="azusr" password="$$vault$$"/>
    <dsn name="AZ.VSAM" type="datastore" dsname="VSAM" userid="azusr" password="$$vault$$"/>
    <dsn name="AZ.SEQ" type="datastore" dsname="SEQ" optio="+ooseq" userid="azusr" password="$$vault$$"/>
    <dsn name="AZ.CAS.ESDEMO" type="region.cas" region="ESDEMO" feature="all" userid="azusr" password="$$vault$$"/>
    <dsn name="AZ.CROSSREGION" type="crossregion.cas" userid="azusr" password="$$vault$$"/>
  </server>
  <server name="localhost:5432" type="postgresql" access="odbc">
    <dsn name="PG.POSTGRES" type="database" dbname="postgres"/>
    <dsn name="PG.VSAM" type="datastore" dsname="PGVSAM" userid="clerk" password="$$vault$$"/>
    <dsn name="PG.CAS.PGDEMO" type="region.cas" region="PGDEMO" feature="all" userid="clerk" password="$$vault$$"/>
    <dsn name="PG.CROSSREGION" type="crossregion.cas" userid="clerk" password="$$vault$$"/>
  </server>
  <server name="${TESTMFDBFH_DBINST_DB2}" type="db2" access="odbc">
    <dsn name="DB2.COPYTEST" type="datastore" dsname="COPYTEST" optio="all -ooseq" connect="$$vault$$"/>
    <dsn name="DB2.VSAM" type="datastore" dsname="VSAM" optio="all -ooseq" connect="$$vault$$"/>
    <dsn name="DB2.CAS.CROSSREGION" type="crossregion.cas" optio="none" connect="$$vault$$"/>
    <dsn name="DB2.CAS.TESTDB" type="region.cas" region="TESTDB" connect="$$vault$$"/>
  </server>
</datastores>

各インスタンスに複数のデータストア データベース、リージョン データベース、リージョン間データベースがあります。また、sqlserverazuresqldb、および postgresql のサーバー インスタンスには type=database のエントリもあります。これは、MFDBFH または Enterprise Server がそれらのインスタンスと対話できるようにするために必須です。

Enterprise Server でアプリケーションを実行する際も dbfhdeploy コマンド ライン ユーティリティを使用する際も、MFDBFH_CONFIG 環境変数を使用してこの構成ファイルの場所を設定します。この変数が設定されていない場合、構成ファイルは現在のディレクトリまたはエンタープライズ サーバー リージョンのシステム ディレクトリにあると見なされます。