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の設定¶
「ProjectNavigator」内の <(プロジェクト名)/resin-web.xml> ファイルをダブルクリックで開き、「ソース」タブを選択してください。
<web-app>/<database>/<driver> に接続先のデータベース接続情報を設定します。以下は各データベース毎の接続例です。コラム
- 複数テナントの場合
テナント数分、DataSourceを準備してください。各テナント毎に利用するDataSourceを設定してください。
5.3.1.1.2.1. PostgreSQL¶
PostgreSQLはJDBCドライバのバージョンによって設定が異なります。Version 9.4-1202以降では<init-param>に preparedStatementCacheQueries を設定する必要があります。詳しくは、「設定ファイルリファレンス」の「プリペアドステートメントキャッシュ設定」を参照してください。
JDBC4 Postgresql Driver, 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>JDBC4 Postgresql 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¶
<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 2012¶
<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. IBM DB2¶
<driver> <type>com.ibm.db2.jcc.DB2Driver</type> <url>jdbc:db2://localhost:50000/databasename</url> <user>username</user> <password>password</password> </driver>
コラム
5.3.1.1.3. DataSourceマッピングの設定¶
「ProjectNavigator」内の <(プロジェクト名)/conf/data-source-mapping-config.xml> ファイルをダブルクリックで開き、「ソース」タブを選択してください。 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 (12.1.3), WebSphere Application Server 8.5.5 ではシステムデータベースとテナントデータベースは同一のデータベースを指定してください。詳細は以下を参照してください。