AdminTask オブジェクトの JDBCProviderManagement コマンド・グループ
Jython または Jacl スクリプト言語を対話モードで使用すると、スクリプト記述によってデータ・アクセスおよびデータ・ソースを構成することができます。JDBCProviderManagement グループのコマンドおよびパラメーターは、 データ・ソースおよび Java™ Database Connectivity (JDBC) プロバイダーの作成または リストに使用できます。
createDatasource
createDatasource は、 バックエンド・データ・ストアにアクセスする新規データ・ソースを作成するコマンドです。アプリケーション・コンポーネントは このデータ・ソースを使用して、データベースへの接続インスタンスにアクセスします。
ターゲット・オブジェクト
JDBC プロバイダー・オブジェクト ID - 新規データ・ソースが 所属する JDBC プロバイダーの構成オブジェクト。必須パラメーター
- - name
- データ・ソースの名前です。(ストリング、必須)
- -jndiName
- Java Naming and Directory Interface (JNDI) 名。(ストリング、必須)
- -dataStoreHelperClassName
- データ固有の関数を実行するために選択した JDBC ドライバー実装クラスの機能を拡張する、 DataStoreHelper 実装クラスの名前。 WebSphere® Application Server は、サポートする JDBC プロバイダーごとに DataStoreHelper 実装クラスのセットを提供します。(ストリング、必須)
- configureResourceProperties
- このコマンド・ステップは、データ・ソースによって必要とされるリソース・プロパティーを
構成します。(必須)。このステップでは以下のパラメーターが
指定できます。
- name
- リソース・プロパティーの名前。(ストリング、必須)
- type
- リソース・プロパティーのタイプ。(ストリング、必須)
- value
- リソース・プロパティーの値。(ストリング、必須)
オプション・パラメーター
- -description
- データ・ソースの説明。(ストリング、オプション)
- -category
- データ・ソースのグループを分類する際に使用できるカテゴリー。(ストリング、オプション)
- -componentManagedAuthenticationAlias
- 実行時のデータベース認証に使用される別名。この別名は、 アプリケーション・リソース参照が res-auth = Application を使用する場合にのみ使用されます。 (ストリング、オプション)
- -containerManagedPersistence
- このデータ・ソースをエンタープライズ Bean のコンテナー管理パーシスタンスに 使用するかどうかを指定します。デフォルト値は true です。(ブール値、オプション)
例
バッチ・モードの使用例:
- Jacl を使用:
$AdminTask createDatasource "DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml# JDBCProvider_1180538152781)" {-name "DB2 Universal JDBC Driver XA DataSource" -jndiName s1 -dataStoreHelperClassName com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper -componentManagedAuthenticationAlias myCellManager01/a1 -xaRecoveryAuthAlias myCellManager01/a1 -configureResourceProperties {{databaseName java.lang.String db1} {driverType java.lang.Integer 4} {serverName java.lang.String dbserver1} {portNumber java.lang.Integer 50000}}}
- Jython ストリングを使用:
AdminTask.createDatasource('DB2 Universal JDBC Driver Provider(XA) (cells/myCell|resources.xml #JDBCProvider_1180501752515)', '[-name "DB2 Universal JDBC Driver XA DataSource 2" -jndiName ds2 -dataStoreHelperClassName com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper -componentManagedAuthenticationAlias myCellManager01/a1 -xaRecoveryAuthAlias myCellManager01/a1 -configureResourceProperties [[databaseName java.lang.String db1] [driverType java.lang.Integer 4] [serverName java.lang.String dbserver1] [portNumber java.lang.Integer 50000]]]')
- Jython リストを使用:
AdminTask.createDatasource('DB2 Universal JDBC Driver Provider(XA) (cells/myCell|resources.xml# JDBCProvider_1180501752515)', ['-name', ' DB2 Universal JDBC Driver XA DataSource 2', '-jndiName', 'ds2', '-dataStoreHelperClassName', 'com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper', '-componentManagedAuthenticationAlias', 'myCellManager01/a1', '-xaRecoveryAuthAlias', 'myCellManager01/a1', '-configureResourceProperties', '[[databaseName java.lang.String db1] [driverType java.lang.Integer 4] [serverName java.lang.String dbserver1] [portNumber java.lang.Integer 50000]]'])
対話モードの使用例:
- Jacl を使用:
$AdminTask createDatasource {-interactive}
- Jython を使用:
AdminTask.createDatasource('-interactive')

- コンテナー管理パーシスタンスをサポートするデータ・ソースを作成する場合、createDatasource コマンドは、ターゲット有効範囲の構成内に 2 つのオブジェクト (対象となるデータ・ソース、およびコンテナーによって明示的に使用される CMP コネクター・ファクトリー) を作成します。構成からデータ・ソースを除去するには、対象となるデータ・ソース・オブジェクトと CMP コネクター・ファクトリー・オブジェクトに、remove コマンドを個別に適用する必要があります。以下のスクリプトは、コンテナー管理パーシスタンスをサポートするデータ・ソースを除去する場合に、Jacl を使用して構成から CMPConnectorFactory オブジェクトを除去する方法を示しています。
# The following script removes a data source from the configuration, # including the associated CMP connector factory # # Set this variable to the ID string of the data source to remove set ds_to_remove "configID_of_my_data_source_to_remove" puts "Data source to remove='$ds_to_remove'" # Find and remove the CMPConectorFactory associated with the datasource to remove foreach cmp_cf [$AdminConfig list CMPConnectorFactory] { set cmp_ds [lindex [$AdminConfig showAttribute $cmp_cf cmpDatasource] 0] if { [string compare $cmp_ds $ds_to_remove] == 0 } { puts "Found CMPConnectorFactory for data source $ds_to_remove" puts "Removing the CMPConnectorFactory '$cmp_cf'" $AdminConfig remove $cmp_cf puts "'$cmp_cf' is removed." break } } puts "Removing the data source '$ds_to_remove'" $AdminConfig remove $ds_to_remove puts "'$ds_to_remove' is removed." #$AdminConfig save
- providerType 属性が存在しないか、または含まれていない JDBC プロバイダーでデータ・ソースを作成する場合は、createDatasource コマンドが正常に完了しません。このエラーは、JMX API の AdminConfig create JDBCProvider メソッドで JDBC プロバイダーを作成した場合に発生することがあります。このメソッドでは、JDBC プロバイダーは作成されますが、providerType 属性は追加されません。createDatasource コマンドで以下のエラーが出されます。
"ADMF0006E: Step configureResourceProperties of command createDatasource is not found"
この問題を解決するには、JDBCProviderManagement グループのコマンド (AdminTask コマンドの createJDBCProvider と createDatasource) を使用します。 この AdminTask コマンドは併用するように設計されています。
AdminConfig JMX API メソッドの「create JDBCProvider」および「create Datasource」(バージョン 5.1 以上をサポート) も併用するように設計されています。JMX API メソッドを使用するスクリプトでは AdminTask コマンドを使用しないでください。
- データ・ソースの作成時に指定した JDBC プロバイダー・オブジェクト ID が、 JDBC プロバイダーの ID に一致しないと、createDatasource コマンドは正常に完了しません。 JDBC プロバイダー・オブジェクト ID と、JDBC プロバイダーの ID が一致しない場合には、 createJDBCProvider コマンドの結果から正しい ID を取得することができます。 その後、createDatasource コマンドの使用時にこの ID を指定します。 既に JDBC プロバイダーを作成済みの場合には、listJDBCProviders コマンドを使用して正しい ID をリストします。
createJDBCProvider
createJDBCProvider コマンドは、データ・アクセスのためのリレーショナル・データベースへの接続に使用できる新規の Java Database Connectivity (JDBC) プロバイダーを作成します。
ターゲット・オブジェクト
なし必須パラメーター
- -scope
- 新規 JDBC プロバイダーの有効範囲。type=name の形式で有効範囲を指定します。 type には Cell、Node、Server、Application、または Cluster を、name には使用しているセル、ノード、サーバー、アプリケーション、またはクラスターの特定インスタンスの名前を指定できます。 デフォルトは none です。(ストリング、必須)
- -databaseType
- JDBC プロバイダーで使用されるデータベースのタイプ。例えば、DB2®、Derby、Informix®、Oracle など。 (ストリング、必須)
- -providerType
- JDBC プロバイダーで使用される JDBC プロバイダー・タイプ。(ストリング、必須)
- -implementationType
- この JDBC プロバイダーの実装タイプ。アプリケーションを単一フェーズまたは ローカル・トランザクションで実行する場合は、Connection pool data source を使用します。 それ以外の場合は、XA data source を使用してグローバル・トランザクションで実行します。(ストリング、必須)
オプション・パラメーター
- -classpath
- リソース・プロバイダー・クラスのロケーションを形成するパス または JAR ファイル名のリストを指定します。(ストリング、オプション)
- -description
- JDBC プロバイダーの説明。(ストリング、オプション)
- -implementationClassName
- JDBC ドライバー実装の Java クラス名を指定します。(ストリング、オプション)
- -name
- JDBC プロバイダーの名前。デフォルトは、プロバイダー・テンプレートからの 値です。(ストリング、オプション)
- -nativePath
- リソース・プロバイダーのネイティブ・ライブラリーのロケーションを 形成するパスのリストを指定します。(ストリング、オプション)
- -isolated
- JDBC プロバイダーがクラス・ローダー内をロードするかどうかを指定します。デフォルト値は false です。分離した JDBC プロバイダーのネイティブ・パスは指定できません。(ブール値、オプション)
例
バッチ・モードの使用例:
- Jacl を使用:
$AdminTask createJDBCProvider {-scope Cell=my02Cell -databaseType DB2 -providerType "DB2 Universal JDBC Driver Provider" -implementationType "XA data source" -name "DB2 Universal JDBC Driver Provider (XA)"-description "XA DB2 Universal JDBC Driver-compliant Provider. Datasources created under this provider support the use of XA to perform 2-phase commit processing. Use of driver type 2 on WAS z/OS is not supported for datasources created under this provider." -classpath {"${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar;${UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar; ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar"} -nativePath {"${DB2UNIVERSAL_JDBC_DRIVER_NATIVEPATH}"}}
- Jython ストリングを使用:
AdminTask.createJDBCProvider('[-scope Cell=myCell -databaseType DB2 -providerType "DB2 Universal JDBC Driver Provider" -implementationType "XA datasource" -name "DB2 Universal JDBC Driver Provider (XA)" -description "XA DB2 Universal JDBC Driver-compliant Provider. Datasources created under this provider support the use of XA to perform 2-phase commit processing. Use of driver type 2 on WAS z/OS is not supported for datasources created under this provider." -classpath ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar;${UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar; ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/ db2jcc_license_cisuz.jar -nativePath ${DB2UNIVERSAL_JDBC_DRIVER_NATIVEPATH}]')
- Jython リストを使用:
AdminTask.createJDBCProvider(['-scope', 'Cell=myCell', '-databaseType', 'DB2', '-providerType', 'DB2 Universal JDBC Driver Provider', '-implementationType', 'XA data source', '-name', 'DB2 Universal JDBC Driver Provider (XA)', '-description', 'XA DB2 Universal JDBC Driver-compliant Provider. Datasources created under this provider support the use of XA to perform 2-phase commit processing. Use of driver type 2 on WAS z/OS is not supported for datasources created under this provider.', '-classpath', '${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar; ${UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar;${DB2UNIVERSAL_JDBC_DRIVER_PATH}/ db2jcc_license_cisuz.jar', '-nativePath', '${DB2UNIVERSAL_JDBC_DRIVER_NATIVEPATH}'])
対話モードの使用例:
- Jacl を使用:
$AdminTask createJDBCProvider {-interactive}
- Jython を使用:
AdminTask.createJDBCProvider('-interactive')
deleteDatasource
deleteDatasource コマンドは、特定の有効範囲で既存の JDBC プロバイダーのデータ・ソースを削除します。
ターゲット・オブジェクト
DataSource オブジェクト ID - 削除する DataSource の構成オブジェクト。必須パラメーター
なし。オプション・パラメーター
なし。例
バッチ・モードの使用例:
- Jacl を使用:
$AdminTask deleteDatasource "DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml #DataSource_1170538153781)"
- Jython ストリングを使用:
AdminTask.deleteDatasource('DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml#DataSource_1170538153781)')
結果:
特定の有効範囲の DataSource が削除されます。また、DataSource がタイプ 4 JDBC ドライバーとして構成された DB2 データ・ソースであり、クライアント転送で使用可能な場合は、「クライアント転送サーバー・リスト JNDI 名」フィールド、または clientRerouteServerListJNDIName データ・ソース・カスタム・プロパティーのいずれかに指定された JNDI 名がアンバウンドされます。
コマンドによる変更の内容を保存するには、AdminConfig オブジェクトの save コマンドを呼び出します。変更内容が保存されていない場合は、DataSource でテスト接続を実行するか、またはサーバーを再始動して、クライアント転送サーバー・リスト JNDI 名を再バインドする必要があります。
deleteJDBCProvider
deleteJDBCProvider コマンドは、特定の有効範囲から JDBC プロバイダーとそのデータ・ソースを削除します。
ターゲット・オブジェクト
JDBCProvider オブジェクト ID - 削除する JDBCProvider の構成オブジェクト。必須パラメーター
なし。オプション・パラメーター
なし。例
バッチ・モードの使用例:
- Jacl を使用:
$AdminTask deleteJDBCProvider "DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml#JDBCProvider_1180538152781)"
- Jython ストリングを使用:
AdminTask.deleteJDBCProvider('DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml#JDBCProvider_1180538152781)')
結果:
特定の有効範囲の JDBCProvider が削除されます。JDBCProvider が、タイプ 4 JDBC ドライバーとして構成された JDBCProvider の各データ・ソースの DB2 Universal Database プロバイダーであり、クライアント転送で使用可能な場合は、「クライアント転送サーバー・リスト JNDI 名」フィールド、または clientRerouteServerListJNDIName データ・ソース・カスタム・プロパティーのいずれかに指定された JNDI 名がアンバウンドされます。
コマンドによる変更の内容を保存するには、AdminConfig オブジェクトの save コマンドを呼び出します。変更内容が保存されていない場合は、JDBCProvider のデータ・ソースでテスト接続を実行するか、またはサーバーを再始動して、クライアント転送サーバー・リスト JNDI 名を再バインドする必要があります。
listDatasources
listDatasources コマンドは、 指定の有効範囲内に含まれるデータ・ソースをリストする場合に使用します。
ターゲット・オブジェクト
なし必須パラメーター
なし。オプション・パラメーター
- -scope
- リストされるデータ・ソースの有効範囲。type=name の形式で有効範囲を指定します。 type には Cell、Node、Server、Application、または Cluster を、name には使用しているセル、ノード、サーバー、アプリケーション、またはクラスターの特定インスタンスの名前を指定できます。 デフォルトは All です。 (ストリング、オプション)
例
バッチ・モードの使用例:
- Jacl を使用:
$AdminTask listDatasources {-scope Cell=my02Cell}
- Jython ストリングを使用:
AdminTask.listDatasources('[-scope Cell=my02Cell]')
- Jython リストを使用:
AdminTask.listDatasources('-scope', 'Cell=my02Cell')
対話モードの使用例:
- Jacl を使用:
$AdminTask listDatasources {-interactive}
- Jython を使用:
AdminTask.listDatasources('-interactive')
listJDBCProviders
listJDBCProviders は、 指定の有効範囲内に含まれる JDBC プロバイダーをリストするコマンドです。
ターゲット・オブジェクト
なし必須パラメーター
なし。オプション・パラメーター
- -scope
- リストされる JDBC プロバイダーの有効範囲。type=name の形式で有効範囲を指定します。 type には Cell、Node、Server、Application、または Cluster を、name には使用しているセル、ノード、サーバー、アプリケーション、またはクラスターの特定インスタンスの名前を指定できます。 デフォルトは All です。 (ストリング、オプション)
例
バッチ・モードの使用例:
- Jacl を使用:
$AdminTask listJDBCProviders {-scope Cell=my02Cell}
- Jython ストリングを使用:
AdminTask.listJDBCProviders('-scope Cell=my02Cell')
- Jython リストを使用:
AdminTask.listJDBCProviders(['-scope', 'Cell=my02Cell'])
対話モードの使用例:
- Jacl を使用:
$AdminTask listJDBCProviders {-interactive}
- Jython を使用:
AdminTask.listJDBCProviders('-interactive')