Befehlsgruppe "JDBCProviderManagement" für das Objekt "AdminTask"
Sie können die Scripting-Sprachen Jython und Jacl im Dialogmodus verwenden, um über Scripting den Datenzugriff und die Datenquellen zu konfigurieren. Mit den Befehlen und Parametern in der Gruppe "JDBCProviderManagement" können Sie Datenquellen und Java™ Database Connectivity-Provider (JDBC-Provider) erstellen oder auflisten.
createDatasource
Der Befehl "createDatasource" erstellt eine neue Datenquelle für den Zugriff auf den Back-End-Datenspeicher. Anwendungskomponenten verwenden die Datenquelle, um auf Verbindungsinstanzen zur Datenbank zuzugreifen.
Zielobjekt
Objekt-ID des JDBC-Providers - Das Konfigurationsobjekt des JDBC-Providers, zu dem die neue Datenquelle gehört.Erforderliche Parameter
- - name
- Der Name der Datenquelle. (String, erforderlich)
- -jndiName
- Der JNDI-Name (Java Naming and Directory Interface). (String, erforderlich)
- -dataStoreHelperClassName
- Der Name der DataStoreHelper-Implementierungsklasse, die die Funktionalität der von Ihnen ausgewählten Implementierungsklasse für den JDBC-Treiber erweitert, um datenbankspezifische Funktionen ausführen zu können. WebSphere Application Server stellt für jeden der unterstützten JDBC-Providertreiber eine Reihe von DataStoreHelper-Implementierungsklassen bereit. (String, erforderlich)
- configureResourceProperties
- Dieser Befehlsschritt konfiguriert die erforderlichen Ressourceneigenschaften für die Datenquelle.
(Erforderlich) Sie können die folgenden Parameter für diesen Schritt angeben:
- name
- Der Name der Ressourceneigenschaft. (String, erforderlich)
- type
- Der Typ der Ressourceneigenschaft. (String, erforderlich)
- value
- Der Wert der Ressourceneigenschaft. (String, erforderlich)
Optionale Parameter
- -description
- Die Beschreibung der Datenquelle. (String, optional)
- -category
- Die Kategorie, die Sie für die Klassifizierung einer Gruppe von Datenquellen verwenden können. (String, optional)
- -componentManagedAuthenticationAlias
- Der Alias, der für die Datenbankauthentifizierung zur Laufzeit verwendet wird. Dieser Alias wird nur verwendet, wenn die Referenz auf die Anwendungsressource die Einstellung "res-auth=Application" verwendet. (String, optional)
- -containerManagedPersistence
- Gibt an, ob diese Datenquelle für die über Container realisierte Transaktionspersistenz (CMP) von Enterprise-Beans verwendet wird. Der Standardwert ist "true". (Boolean, optional)
Beispiele
Verwendungsbeispiel für den Stapelmodus
- Mit 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}}}
- Mit Jython (String):
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]]]')
- Mit Jython (List):
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]]'])
Verwendungsbeispiel für den Dialogmodus:
- Mit Jacl:
$AdminTask createDatasource {-interactive}
- Mit Jython:
AdminTask.createDatasource('-interactive')

- Wenn Sie eine Datenquelle erstellen, die CMP (Container-managed Persistence, über Container realisierte Transaktionspersistenz)
unterstützt, erstellt der Befehl "createDatasource" zwei Objekte in der Konfiguration des Zielbereichs:
die geplante Datenquelle und eine CMP-Connector-Factory, die ausdrücklich vom Container verwendet wird. Sie müssen
den Befehl "remove" gesondert auf die geplante Datenquelle und die CMP-Connector-Factory-Objekte
anwenden, um die Datenquelle aus der Konfiguration zu löschen.
Das folgende Script veranschaulicht, wie Jacl verwendet wird, um das CMPConnectorFactory-Objekt aus der Konfiguration zu entfernen, wenn Sie eine Datenquelle löschen, die CMP unterstützt:
# Das folgende Script entfernt eine Datenquelle aus der Konfiguration, # einschließlich der zugehörigen CMP-Connector-Factory. # # Variable auf die ID-Zeichenfolge der zu entfernenden Datenquelle setzen. set ds_to_remove "configID_of_my_data_source_to_remove" puts "Data source to remove='$ds_to_remove'" # CMPConectorFactory, die der zu entfernenden Datenquelle zugeordnet ist, suchen und entfernen. 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
- Der Befehl "createDatasource" wird nicht erfolgreich ausgeführt, wenn Sie eine Datenquelle in einem
JDBC-Provider erstellen, der nicht vorhanden ist oder der das Attribut "providerType" nicht enthält.
Dieser Fehler kann auftreten, wenn Sie den JDBC-Provider mit der Methode "AdminConfig create
JDBCProvider" der JMX-API erstellt haben. Diese Methode erstellt den JDBC-Provider,
fügt aber kein Attribut "providerType" hinzu.
Der Befehl "createDatasource" gibt den folgenden Fehler aus:
"ADMF0006E: Schritt configureResourceProperties von Befehl createDatasource wurde nicht gefunden"
Zur Behebung dieses Problems verwenden Sie Befehle aus der Gruppe "JDBCProviderManagement", die die AdminTask-Befehle "createJDBCProvider" und "createDatasource" bereitstellt. Die AdminTask-Befehle sind so konzipiert, dass sie zusammen verwendet werden.
Die Methoden "create JDBCProvider" und "create Datasource" der AdminConfig-JMX-API, die Version 5.1 und höher unterstützen, sind ebenfalls so konzipiert, dass sie zusammen verwendet werden. Scripts, die die JMX-API-Methoden verwenden, sollten die AdminTask-Befehle nicht verwenden.
- Der Befehl "createDatasource" wird nicht erfolgreich ausgeführt, wenn die Objekt-ID des JDBC-Providers, die Sie beim Erstellen der Datenquelle angeben, nicht mit der ID des JDBC-Providers übereinstimmt. Wenn die Objekt-ID des JDBC-Providers und die ID des JDBC-Providers nicht übereinstimmen, können Sie die richtige ID aus den Ergebnissen des Befehls "createJDBCProvider" abrufen. Anschließend geben Sie diese ID an, wenn Sie den Befehl "createDatasource" verwenden. Wenn Sie den JDBC-Provider bereits erstellt haben, verwenden Sie den Befehl "listJDBCProviders", um die richtige ID aufzulisten.
createJDBCProvider
Der Befehl "createJDBCProvider" erstellt einen neuen JDBC-Provider (Java Database Connectivity Provider), den Sie verwenden können, um für den Datenzugriff eine Verbindung zu einer relationalen Datenbank herzustellen.
Zielobjekt
Ohne.Erforderliche Parameter
- -scope
- Der Geltungsbereich des neuen JDBC-Providers. Geben Sie den Geltungsbereich im Format Typ=Name ein. Die gültigen Werte für Typ sind Cell, Node, Server, Application und Cluster. Für Name geben Sie den Namen der speziellen Instanz der Zelle, des Knotens, des Servers, der Anwendung oder des Cluster an, die bzw. den Sie verwenden. Der Standardwert ist none. (String, erforderlich)
- -databaseType
- Der Typ der vom JDBC-Provider verwendeten Datenbank, z. B. DB2, Derby, Informix, Oracle usw. (String, erforderlich)
- -providerType
- Der vom JDBC-Provider verwendete Providertyp. (String, erforderlich)
- -implementationType
- Der Implementierungstyp für den JDBC-Provider. Verwenden Sie Datenquelle für Verbindungspool, wenn Ihre Anwendung in einer Phase oder in einer lokalen Transaktion ausgeführt wird. Verwenden Sie XA-Datenquelle, wenn die Anwendung in einer globalen Transaktion ausgeführt wird. (String, erforderlich)
Optionale Parameter
- -classpath
- Gibt eine Liste mit Pfaden oder JAR-Dateinamen an, die den Pfad für die Ressourcenproviderklassen bilden. (String, optional)
- -description
- Die Beschreibung des JDBC-Providers. (String, optional)
- -implementationClassName
- Gibt den Namen der Java-Klasse für die JDBC-Treiberimplementierung an. (String, optional)
- -name
- Der Name des JDBC-Providers. Der Standardwert ist der Wert aus der Providerschablone. (String, optional)
- -nativePath
- Gibt eine Liste mit Pfaden an, die den Pfad für die nativen Bibliotheken des Ressourcenproviders bilden. (String, optional)
- -isolated
- Gibt an, ob der JDBC-Provider im Klassenlader geladen wird. Der Standardwert ist false. Für einen isolierten JDBC-Provider kann kein nativer Pfad angegeben werden. (Boolean, optional)
Beispiele
Verwendungsbeispiel für den Stapelmodus
- Mit 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}"}}
- Mit Jython (String):
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}]')
- Mit Jython (List):
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}'])
Verwendungsbeispiel für den Dialogmodus:
- Mit Jacl:
$AdminTask createJDBCProvider {-interactive}
- Mit Jython:
AdminTask.createJDBCProvider('-interactive')
deleteDatasource
Der Befehl "deleteDatasource" löscht eine Datenquelle für einen vorhandenen JDBC-Provider in einem bestimmten Geltungsbereich.
Zielobjekt
ID des DataSource-Objekts - Das Konfigurationsobjekt der zu löschenden DataSource.Erforderliche Parameter
Ohne.Optionale Parameter
Ohne.Beispiele
Verwendungsbeispiel für den Stapelmodus
- Mit Jacl:
$AdminTask deleteDatasource "DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml #DataSource_1170538153781)"
- Mit Jython (String):
AdminTask.deleteDatasource('DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml#DataSource_1170538153781)')
Ergebnis:
Das DataSource-Objekt wird im angegebenen Geltungsbereich gelöscht. Wenn das DataSource-Objekt eine DB2-Datenquelle ist, die als Type 4 JDBC Driver konfiguriert und für Clientumleitung aktiviert wurde, ist der JNDI-Name, der im Feld für den JNDI-Namen der Serverliste für Clientumleitung oder mit der angepassten Datenquelleneigenschaft "clientRerouteServerListJNDIName" angegeben wurde, nicht gebunden.
Um die vom Befehl vorgenommenen Änderungen zu speichern, rufen Sie den Befehl "save" des Objekts "AdminConfig" auf. Werden die Änderungen nicht gespeichert, muss der JNDI-Name der Serverliste für Clientumleitung erneut gebunden werden, indem eine Testverbindung zum DataSource-Objekt hergestellt oder der Server erneut gestartet wird.
deleteJDBCProvider
Der Befehl "deleteJDBCProvider" löscht einen JDBC-Provider und die zugehörigen Datenquellen aus einem bestimmten Geltungsbereich.
Zielobjekt
ID des JDBCProvider-Objekts - Das Konfigurationsobjekt des zu löschenden JDBCProvider.Erforderliche Parameter
Ohne.Optionale Parameter
Ohne.Beispiele
Verwendungsbeispiel für den Stapelmodus
- Mit Jacl:
$AdminTask deleteJDBCProvider "DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml#JDBCProvider_1180538152781)"
- Mit Jython (String):
AdminTask.deleteJDBCProvider('DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml#JDBCProvider_1180538152781)')
Ergebnis:
Der JDBCProvider wird im angegebenen Geltungsbereich gelöscht. Wenn der JDBCProvider ein DB2 Universal Database Provider ist, ist für jede Datenquelle des JDBCProvider, die als Type 4 JDBC Driver konfiguriert und für Clientumleitung aktiviert wurde, JNDI-Name, der im Feld für den JNDI-Namen der Serverliste für Clientumleitung oder mit der angepassten Datenquelleneigenschaft "clientRerouteServerListJNDIName" angegeben wurde, nicht gebunden.
Um die vom Befehl vorgenommenen Änderungen zu speichern, rufen Sie den Befehl "save" des Objekts "AdminConfig" auf. Werden die Änderungen nicht gespeichert, müssen die JNDI-Namen der Serverliste für Clientumleitung erneut gebunden werden, indem Testverbindungen zu den Datenquellen des JDBCProvider hergestellt werden oder der Server erneut gestartet wird.
listDatasources
Verwenden Sie den Befehl "listDatasources", um Datenquellen aufzulisten, die in dem angegebenen Geltungsbereich enthalten sind.
Zielobjekt
Ohne.Erforderliche Parameter
Ohne.Optionale Parameter
- -scope
- Der Geltungsbereich für die aufgelisteten Datenquellen. Geben Sie den Geltungsbereich im Format Typ=Name ein. Die gültigen Werte für Typ sind Cell, Node, Server, Application und Cluster. Für Name geben Sie den Namen der speziellen Instanz der Zelle, des Knotens, des Servers, der Anwendung oder des Cluster an, die bzw. den Sie verwenden. Der Standardwert ist All. (String, optional)
Beispiele
Verwendungsbeispiel für den Stapelmodus
- Mit Jacl:
$AdminTask listDatasources {-scope Cell=my02Cell}
- Mit Jython (String):
AdminTask.listDatasources('[-scope Cell=my02Cell]')
- Mit Jython (List):
AdminTask.listDatasources('-scope', 'Cell=my02Cell')
Verwendungsbeispiel für den Dialogmodus:
- Mit Jacl:
$AdminTask listDatasources {-interactive}
- Mit Jython:
AdminTask.listDatasources('-interactive')
listJDBCProviders
Der Befehl "listJDBCProviders" listet die JDBC-Provider auf, die im angegebenen Geltungsbereich enthalten sind.
Zielobjekt
Ohne.Erforderliche Parameter
Ohne.Optionale Parameter
- -scope
- Der Geltungsbereich für die aufgelisteten JDBC-Provider. Geben Sie den Geltungsbereich im Format Typ=Name ein. Die gültigen Werte für Typ sind Cell, Node, Server, Application und Cluster. Für Name geben Sie den Namen der speziellen Instanz der Zelle, des Knotens, des Servers, der Anwendung oder des Cluster an, die bzw. den Sie verwenden. Der Standardwert ist All. (String, optional)
Beispiele
Verwendungsbeispiel für den Stapelmodus
- Mit Jacl:
$AdminTask listJDBCProviders {-scope Cell=my02Cell}
- Mit Jython (String):
AdminTask.listJDBCProviders('-scope Cell=my02Cell')
- Mit Jython (List):
AdminTask.listJDBCProviders(['-scope', 'Cell=my02Cell'])
Verwendungsbeispiel für den Dialogmodus:
- Mit Jacl:
$AdminTask listJDBCProviders {-interactive}
- Mit Jython:
AdminTask.listJDBCProviders('-interactive')