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.

Die Befehlsgruppe "JDBCProviderManagement" für das Objekt "AdminTask" enthält die folgenden Befehle:

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')
Fehler vermeiden Fehler vermeiden: Beachten Sie bei der Verwendung des Befehls "createDatasource" Folgendes:
  • 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.
gotcha

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')

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rxml_atjdbcprovider
Dateiname:rxml_atjdbcprovider.html