intra-mart Accel Platform セットアップガイド 第24版 2018-04-01

5.3.1.1. DataSource

intra-mart Accel Platform で利用するデータベースの設定を行います。

5.3.1.1.1. 接続先の種類

intra-mart Accel Platform では、以下の3種類のデータベースに接続することができます。

  • システムデータベース

    システムのデータを保存するデータベースです。
    アプリケーション起動時にあらかじめ接続可能となっている必要があります。
    システムデータベースはシステム内部で利用されるため、本番環境等ではアプリケーションの
    接続先としては推奨しません。
  • テナントデータベース

    テナント内で利用するデータを保存するデータベースです。
  • シェアードデータベース

    intra-mart Accel Platform 外のデータを保存するデータベースです。
    外部システムと連携したい場合等に利用します。

注意

ViewCreator/TableMaintenance等で利用できる データベース はテナントデータベースとシェアードデータベースが対象です。
システムデータベースとテナントデータベースを同じ接続先として設定することは可能ですが、 システムデータベースとして作成されるテーブルの利用はサポート対象外です。

5.3.1.1.2. DataSourceの設定

  1. 「ProjectNavigator」内の <(プロジェクト名)/resin-web.xml> ファイルをダブルクリックで開き、「ソース」タブを選択してください。

  2. <web-app>/<database>/<driver> に接続先のデータベース接続情報を設定します。
    以下は各データベース毎の接続例です。

コラム

バーチャルテナントによる複数テナント の場合
テナント数分、DataSourceを準備してください。
各テナント毎に利用するDataSourceを設定してください。

5.3.1.1.2.1. PostgreSQL

次のフォーマットを利用して、データベースURLを指定します。
jdbc:postgresql://<host>:<port>/<databasename>
以下は、記述例です。
PostgreSQLはJDBCドライバのバージョンによって設定が異なります。
Version 9.4-1202以降では<init-param>に preparedStatementCacheQueries を設定する必要があります。
  • Version 9.4-1202 以降

    <driver>
       <type>org.postgresql.Driver</type>
       <url>jdbc:postgresql://localhost:5432/dbname</url>
       <user>username</user>
       <password>password</password>
       <init-param>
          <param-name>preparedStatementCacheQueries</param-name>
          <param-value>20</param-value>
       </init-param>
    </driver>
    
  • Version 9.4-1201 以前

    <driver>
       <type>org.postgresql.Driver</type>
       <url>jdbc:postgresql://localhost:5432/dbname</url>
       <user>username</user>
       <password>password</password>
    </driver>
    

5.3.1.1.2.2. Oracle

システム識別子(SID)で接続する場合は次のフォーマットを利用して、データベースURLを指定します。
jdbc:oracle:thin:@<host>:<port>:<SID>
以下は、記述例です。
<driver>
   <type>oracle.jdbc.driver.OracleDriver</type>
   <url>jdbc:oracle:thin:@localhost:1521:orcl</url>
   <user>username</user>
   <password>password</password>
</driver>
サービス名で接続する場合は次のフォーマットを利用して、データベースURLを指定します。
jdbc:oracle:thin:@//<host>:<port>/<service>
以下は、記述例です。
<driver>
   <type>oracle.jdbc.driver.OracleDriver</type>
   <url>jdbc:oracle:thin:@//localhost:1521/orcl</url>
   <user>username</user>
   <password>password</password>
</driver>

5.3.1.1.2.3. Microsoft SQL Server

次のフォーマットを利用して、データベースURLを指定します。
jdbc:sqlserver://<host>:<port>;DatabaseName=<databasename>
以下は、記述例です。
<driver>
   <type>com.microsoft.sqlserver.jdbc.SQLServerDriver</type>
   <url>jdbc:sqlserver://localhost:1433;DatabaseName=databasename</url>
   <user>username</user>
   <password>password</password>
   <init-param>
     <param-name>SelectMethod</param-name>
     <param-value>cursor</param-value>
   </init-param>
</driver>

5.3.1.1.2.4. SAP HANA

次のフォーマットを利用して、データベースURLを指定します。
jdbc:sap://<host>:<port>?currentschema=<schemaname>
以下は、記述例です。
<driver>
  <type>com.sap.db.jdbc.Driver</type>
  <url>jdbc:sap://localhost:30015?currentschema=schemaname</url>
  <user>username</user>
  <password>password</password>
</driver>

コラム

システムデータベースとテナントデータベースを別々の接続先として設定する場合、JNDI名は違うものを指定してください。

5.3.1.1.3. DataSourceマッピングの設定

  1. 「ProjectNavigator」内の <(プロジェクト名)/conf/data-source-mapping-config.xml> ファイルをダブルクリックで開き、
    「ソース」タブを選択してください。
  2. DataSourceとして設定したJNDI名を指定します。
    システムデータベースとテナントデータベース毎に設定したDataSourceを指定します。
    • WebSphere Application Server 8.5.5 の場合

      <data-source-mapping-config>/<system-data-source>/<resource-ref-name> にシステムデータベースのJNDI名を設定します。

      <system-data-source>
        <resource-ref-name>jdbc/default</resource-ref-name>
      </system-data-source>
      

      <data-source-mapping-config>/<tenant-data-source>/<resource-ref-name> にテナントデータベースのJNDI名を設定します。

      <tenant-data-source>
        <tenant-id>default</tenant-id>
        <resource-ref-name>jdbc/default</resource-ref-name>
      </tenant-data-source>
      

      注意

      WebSphere Application Server 8.5.5 の場合、<resource-ref-name> には「java:comp/env/」を除去したJNDI名を指定する必要があります。
    • WebSphere Application Server 8.5.5 以外の場合

      <data-source-mapping-config>/<system-data-source>/<resource-ref-name> にシステムデータベースのJNDI名を設定します。

      <system-data-source>
        <resource-ref-name>java:comp/env/jdbc/system</resource-ref-name>
      </system-data-source>
      

      <data-source-mapping-config>/<tenant-data-source>/<resource-ref-name> にテナントデータベースのJNDI名を設定します。

      <tenant-data-source>
        <tenant-id>default</tenant-id>
        <resource-ref-name>java:comp/env/jdbc/tenant</resource-ref-name>
      </tenant-data-source>
      

注意

<tenant-id> には、初回で作成するテナントIDを設定してください。

注意

Oracle WebLogic Server 12c R2(12.2.1), WebSphere Application Server 8.5.5 ではシステムデータベースとテナントデータベースは同一のデータベースを指定してください。
詳細は以下を参照してください。