このセクションの内容:

概要

DTP をデータベースに接続する前に、まずデータベースを準備する必要があります。これはコマンドラインや DTP UI から行うことができます。データベースの準備には 3 つのステップがあります。

  1. データベースを作成する: DTP
  2. ユーザーを作成する: dtp
  3. データベース内にスキーマを作成する

前提条件

コマンドラインによるデータベースの準備

ご使用のデータベースに応じて、以下の指示に従ってください。データベースの準備ができたら、DTP とデータベースの接続について以下の「既存の DTP データベースへの接続」を参照してください。

コマンドラインによる MySQL DB の準備

<DTP_INSTALL>/dtp/grs/db/dtp/mysql/ ディレクトリにある create.sql スクリプトを root として実行します。このスクリプトは以下のことを行います。

  1. データベースを作成する: DTP
  2. ユーザーを作成する: dtp
  3. データベース内にスキーマを作成する

コマンドラインによる Oracle DB の準備

  1. <DTP_INSTALL>/grs/db/dtp/oracle/ ディレクトリにある create_tablespaces.sql スクリプトを管理者として実行します。このスクリプトはデータベースを作成します: DTP
  2. <DTP_INSTALL>/grs/db/dtp/oracle/ ディレクトリにある create_user.sql スクリプトを管理者として実行します。このスクリプトはユーザーを作成します: dtp
  3. <DTP_INSTALL>/grs/db/dtp/oracle/ ディレクトリにある create.sql スクリプトを、前の手順で作成したユーザー dtp として実行します (このスクリプトは管理者として実行しないでください)。このスクリプトはデータベースにスキーマを作成します。

コマンドラインによる PostgreSQL DB の準備

  1. <DTP_INSTALL>/grs/db/dtp/postgresql/ ディレクトリにある create_db_and_user.sql スクリプトを管理者として実行します。このスクリプトはデータベース DTP とユーザー dtp を作成します。
  2. <DTP_INSTALL>/grs/db/dtp/postgresql/ ディレクトリにある create.sql スクリプトを、前の手順で作成したユーザー dtp として実行します (このスクリプトは管理者として実行しないでください)。このスクリプトはデータベースにスキーマを作成します。

UI によるデータベースの準備

まず、「DTP アプリケーションの起動」の指示に従って DTP サーバーを起動します。次に、「DTP の起動とライセンス設定」の指示に従って DTP を開いてライセンスを取得します。DTP のライセンスを取得すると、データベースの作成ページにリダイレクトされます。次の手順を実行して、新しい DTP データベースとスキーマ、および新しいユーザー認証情報を作成できます。

  1. [データベース設定] をクリックし、表示されたウィンドウで [新規 DTP データベース、ユーザー、スキーマの作成] を選択します。
  2. [次へ] をクリックします。

  3. データベースの種類を選択します: MySQLOracle、または PostgreSQL
  4. データベース URL とルート認証情報を入力し、[接続のテスト] をクリックして正しいことを確認します。

    MySQL データベースの場合、root ユーザーに GRANT OPTION 権限が必要です。


  5. [次へ] をクリックします。

  6. 新しいユーザーと認証情報を入力し、[データベースの作成] をクリックします。

    Parasoft のデフォルトの "dtp" ユーザーがすでに存在する場合、処理は失敗します。この稀な状況では、データベースとユーザーを手動で作成し、後述の「既存のデータベースに対する DTP スキーマの作成」を行うことができます。別の方法としては、この処理を実行する前に、"dtp" ユーザーを削除できます。

その他の UI オプション

既存の DTP データベースへの接続

既存のユーザー認証情報を使用して既存の DTP データベースに接続するには、以下の操作を行います。

  1. [データベース設定] をクリックし、表示されたウィンドウで [既存の DTP データベースに接続] を選択します。
  2. [次へ] をクリックします。

  3. データベースの種類を選択します: MySQLOracle、または PostgreSQL
  4. データベース URL とユーザー認証情報を入力し、[接続のテスト] をクリックして正しいことを確認します。

  5. [保存して接続] をクリックし、データベースに接続します。

既存のデータベースに対する DTP スキーマの作成

既存のユーザー認証情報を使って既存データベースの DTP スキーマを作成するには、次の操作を行います。

  1. [データベース設定] をクリックし、表示されたウィンドウで [DTP データベース スキーマの作成] を選択します。
  2. [次へ] をクリックします。

  3. データベースの種類を選択します: MySQLOracle、または PostgreSQL
  4. データベース URL とユーザー認証情報を入力し、[接続のテスト] をクリックして正しいことを確認します。
  5. [スキーマの作成] をクリックします。

Azure サービスとの統合

以下の Microsoft Azure サービスと統合できますが、次の注意点があります。DTP には Azure サービスとの完全な統合に必要な Jar ファイルが同梱されていません。統合を有効にするには、Parasoft 製品テクニカル サポート センター ([email protected]) に連絡して統合に必要な Jar ファイルを入手します。ファイルを入手したら、<DTP_DATA>/lib/thirdparty ディレクトリにファイルをコピーし、DTP を再起動します (「DTP サービスの停止」および「DTP アプリケーションの開始」を参照)。

また次の点にも注意してください: Azure サービスと統合する場合、コマンド ラインを使用してデータベースが準備されていることが前提になります。

Azure Key Vault との統合

DTP データベースの設定は、<DTP_DATA_DIR>/conf/ にある PSTRootConfig.xml ファイルの <dtp-db-connection> 要素内に保存されます。DTP データベースのパスワードが Azure Key Vault に格納されている場合、<azure-key-vault> 要素を追加することで、パスワードを取得するよう DTP を設定できます。次の例は MySQL を対象としていますが、サポート対象のすべてのデータベースで動作します。

  <dtp-db-connection>
        <db-type>MySQL</db-type>
        <user>dtp</user>
        <url>jdbc:mysql://localhost:3306/DTP</url>
        <azure-key-vault>
            <url>https://dtp-dev.vault.azure.net/</url>
            <secret>default-db-password</secret>
        </azure-key-vault>
    </dtp-db-connection>

<url> 要素の値は Azure Key Vault URI です。<secret> 要素の値は Azure Key Vault 内のシークレットの名前です。上記の例では、DTP が Azure Key Vault からデータベースのパスワードを取得するよう設定されているため、<dtp-db-connection> 要素内に <password> 要素が必要ないことに注意してください。

この機能は、Azure VM にデプロイされた DTP が Azure Key Vault でシークレットにアクセスできるよう、アクセス制御およびマネージド ID が設定済みであることを前提としています。

Azure PostgreSQL との統合(Microsoft Entra Authentication)

DTP データベースの設定は、<DTP_DATA_DIR>/conf/ にある PSTRootConfig.xml ファイルの <dtp-db-connection> 要素内に保存されます。<url> セクションの JDBC URL 値へのクエリー パラメータ―として追加のプロパティを指定することで、Azure にホストされた PostgreSQL データベースへの接続に Microsoft Entra 認証を使用するよう DTP を設定できます。例:

<dtp-db-connection>
    <db-type>PostgreSQL</db-type>
    <user>dtp</user>
    <url>jdbc:postgresql://dtp-postgresql.postgres.database.azure.com:5432/DTP?sslmode=require&authenticationPluginClassName=com.azure.identity.extensions.jdbc.postgresql.AzurePostgresqlAuthenticationPlugin&azure.managedIdentityEnabled=true</url>
</dtp-db-connection>

上記の例では、Microsoft Entra に認証が委譲されるため、<dtp-db-connection> 要素内に <password> 要素が必要ないことに注意してください。また、sslmode=require および authenticationPluginClassName=com.azure.identity.extensions.jdbc.postgresql.AzurePostgresqlAuthenticationPlugin パラメーターが必要であることにも注意してください。複数のパラメーターを区切るには & (アンパサンド) を使用します。

トラブルシューティング

MySQL 8.x JDBC コネクターの欠陥のためにデータベース作成プロセスが失敗する可能性あり

以下のエラーについては dtpconsole-db.log ログ を参照してください (ログには他のメッセージが含まれる場合もあります):  

The server time zone value 'PDT' is unrecognized or represents more than one time zone.You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

エラー メッセージがタイムゾーンを指定します。データベースの作成スクリプトが失敗した後にこのエラーがあった場合、MySQL の serverTimezone プロパティに適切なタイムゾーンを設定し、スクリプトを再実行してください。