データベース構成ファイル (デフォルトの名前は MFDBFH.cfg) は、ネイティブ データベース ファイル ハンドラー (MFDBFH) に使用されます。
このファイルには、データベース サーバー インスタンスとそれらで利用できるデータベースのリスト、および接続の詳細が格納されます。現在サポートされているデータベース サーバーの種類は、Microsoft SQL Server と Azure データベース、PostgreSQL、Db2、および Oracle です。同じ構成ファイル内でタイプごとに 1 つ以上のインスタンスを構成できます。
各サーバー インスタンス要素で、利用可能な各データベースの <dsn> 要素を構成します。
Micro Focus では、構成ファイルの作成または編集には dbfhconfig コマンド ライン ユーティリティを使用することをお勧めします。また、データベース接続の資格情報を暗号化プロセスの背後で安全に格納できるように、シークレット Vault の使用を有効にすることをお勧めします。「Micro Focus データベース ファイル ハンドラーのシークレット Vault の構成」を参照してください。
MFDBFH または Enterprise Server とデータベースの接続は、マシンで構成された対応する ODBC データ ソースを使用するか、直接接続文字列 (「データベース接続文字列」を参照) を使用して確立されます。
詳細については、該当する「データストアの構成」セクションの「<db-type> の構成ファイルの更新」トピックを参照してください。
次の例は、サポートされている各データベース プロバイダーのサーバー エントリを示しています。それぞれの種類は sqlserver (名前は svr-mysqldb)、azuresqldb (場所は環境変数で決定)、postgresql (そのデータストアを単一の物理データベース (MFDevDB) に格納)、Db2 (これも変数を使用) であり、最後のサーバー エントリは oracle です。最初の 3 つは構成済みの ODBC データ ソース名を使用しますが、最後の 2 つ (Db2 および Oracle) については 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" dbname="VSAM"/> </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" dbname="VSAM" userid="azusr" password="$$vault$$"/> <dsn name="AZ.SEQ" type="datastore" dsname="SEQ" dbname="SEQ" optio="+ooseq" userid="azusr" password="$$vault$$"/> </server> <server name="MFDevDB" type="postgresql" access="odbc"> <dsn name="PG.POSTGRES" type="database" dbname="postgres"/> <dsn name="PG.VSAM1" type="datastore" dsname="PGVSAM1" dbname="MFDevDB" userid="clerk" password="$$vault$$"/> <dsn name="PG.VSAM2" type="datastore" dsname="PGVSAM2" dbname="MFDevDB" 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$$"/> </server> <server name="MY_ORA_DB" type="oracle" access="oci"> <dsn name="ORA.VSAM" type="datastore" dsname="VSAM" optio="none" dbname="DBFHTEST" userid="mfdbfh" password="temppwd"/> <dsn name="ORA.JES" type="datastore" dsname="JES" optio="none" dbname="DBFHTEST" userid="mfdbfh" password="temppwd"/> </server> </datastores>
sqlserver、azuresqldb、および postgresql のサーバー インスタンスには type=database のエントリがあります。これは、MFDBFH または Enterprise Server がそれらのインスタンスと対話できるようにするために必須です。
Enterprise Server でアプリケーションを実行する際も dbfhdeploy コマンド ライン ユーティリティを使用する際も、MFDBFH_CONFIG 環境変数を使用してこの構成ファイルの場所を設定します。この変数が設定されていない場合、構成ファイルは現在のディレクトリまたはエンタープライズ サーバー リージョンのシステム ディレクトリにあると見なされます。