# Talend Runtimeでのデータソースの設定

Talend Runtimeでデータソースを使用するには、コンテナーにMySQLドライバーをインストールして、データソース設定ファイルを設定する必要があります。

そのためには、最初にTalend Runtimeコンテナーを開始します。Talend ESB Runtimeのインストール方法、およびTalend Runtimeコンテナーの起動方法は、[Talend Runtimeをインストール](https://help.qlik.com/talend/r/ja-JP/8.0/installation-guide-linux/install-runtime)と[Talend ESB Containerを実行](https://help.qlik.com/talend/r/ja-JP/8.0/installation-guide-linux/running-esb-container)をご覧ください。

## MySQLドライバーをコンテナーにインストールする

MySQLデータベースを使用するには、データソースをインストールする前に、対応するJDBCドライバーを明示的にコンテナーにインストールする必要があります。MySQLドライバーは、公開Mavenリポジトリーからインストールできます。

### 手順

Talend Runtimeコンテナーで以下のコマンドを実行します(必要に応じて、データベースのバージョン番号を変更してください)。

MySQL 5.x

```
bundle:install mvn:mysql/mysql-connector-java/5.1.18
```

MySQL 8.x

```
bundle:install mvn:mysql/mysql-connector-java/8.0.27
```

H2、Oracle、DB2、SQL Server、PostgreSQL JDBCドライバーをコンテナーにインストールする方法は、[DataSource installation](https://help.qlik.com/talend/r/en-US/8.0/esb-infra-services-configuration-guide/datasource-installation)をご覧ください。

## データソース設定ファイルを設定する

### 手順

1. &lt;TalendRuntimePath&gt;/add-ons/datasources/dataserviceフォルダー内のMySQLデータベース設定ファイルdatasource-mysql.xmlに、データベース接続情報を設定します。

   MySQL 5.xの場合:
   ```
   <bean id="mysqlDataSource" class="com.mysql.jdbc.jdbc2.optional.
   MysqlConnectionPoolDataSource">
       <property name="url" value="jdbc:mysql://localhost:3306/root"/>
       <property name="user" value="root"/>
       <property name="password" value=""/>
   </bean>

   <bean id="dataSource" class="org.apache.commons.dbcp.datasources.
   SharedPoolDataSource" destroy-method="close">
       <property name="connectionPoolDataSource" ref="mysqlDataSource"/>
       <property name="maxActive" value="20"/>
       <property name="maxIdle" value="5"/>
       <property name="maxWait" value="-1"/>
   </bean>

   <service ref="dataSource" interface="javax.sql.DataSource">
       <service-properties>
            <entry key="osgi.jndi.service.name" value="jdbc/sample"/>
       </service-properties>
   </service>
   ```

   MySQL 8.xの場合:
   ```
   <bean id="mysqlDataSource" class="com.mysql.cj.jdbc.MysqlConnectionPoolDataSource">
       <property name="url" value="jdbc:mysql://localhost:3306/root"/>
       <property name="user" value="root"/>
       <property name="password" value=""/>
   </bean>

   <bean id="dataSource" class="org.apache.commons.dbcp.datasources.
   SharedPoolDataSource" destroy-method="close">
       <property name="connectionPoolDataSource" ref="mysqlDataSource"/>
       <property name="maxActive" value="20"/>
       <property name="maxIdle" value="5"/>
       <property name="maxWait" value="-1"/>
   </bean>

   <service ref="dataSource" interface="javax.sql.DataSource">
       <service-properties>
            <entry key="osgi.jndi.service.name" value="jdbc/sample"/>
       </service-properties>
   </service>
   ```
2. この設定ファイルをTalend Runtimeコンテナーディレクトリー内のデプロイフォルダーにコピーします。Talend Studioでジョブを設定する際には、MySQLデータベースコンポーネントでデータソースのエイリアスjdbc/sampleが使用されます。これは必要に応じて変更できます。