Grupo de mandatos JDBCProviderManagement para el objeto AdminTask

Puede utilizar los lenguajes de script Jython o Jacl en modalidad interactiva para configurar el acceso a datos y los orígenes de datos con scripts. Los mandatos y parámetros del grupo JDBCProviderManagement se pueden utilizar para crear o listar orígenes de datos y proveedores de JDBC (Java™ Database Connectivity).

El grupo de mandatos JDBCProviderManagement para el objeto AdminTask incluye los mandatos siguientes:

createDatasource

El mandato createDatasource crea un nuevo origen de datos para acceder al almacén de datos de fondo. Los componentes de aplicación utilizan el origen de datos para acceder a instancias de conexión para la base de datos.

Objeto de destino

ID del objeto proveedor de JDBC: el objeto de configuración del proveedor de JDBC al que pertenecerá el nuevo origen de datos.

Parámetros necesarios

- name
El nombre del origen de datos. (String, obligatorio)
-jndiName
Nombre JNDI (Java Naming and Directory Interface). (String, obligatorio)
-dataStoreHelperClassName
Nombre de la clase de implementación DataStoreHelper que amplía las posibilidades de la clase de implementación del controlador JDBC para llevar a cabo funciones de datos específicos. WebSphere Application Server proporciona un conjunto de clases de implementación de DataStoreHelper para cada uno de los controladores de proveedor de JDBC a los que da soporte. (String, obligatorio)
configureResourceProperties
Este paso de mandato configura las propiedades de recursos que el origen de datos necesita. (Obligatorio) Puede especificar los siguientes parámetros para este paso:
name
Nombre de la propiedad del recurso. (String, obligatorio)
tipo
Tipo de la propiedad del recurso. (String, obligatorio)
value
Valor de la propiedad del recurso. (String, obligatorio)

Parámetros opcionales

-description
Descripción del origen de datos. (String, opcional)
-category
Categoría que se utiliza para clasificar un grupo de orígenes de datos. (String, opcional)
-componentManagedAuthenticationAlias
Alias utilizado para autenticar bases de datos durante el tiempo de ejecución. Este alias sólo se utiliza cuando la referencia a recursos de aplicación utiliza res-auth=Application. (String, opcional)
-containerManagedPersistence
Especifica si el origen de datos se utiliza para la persistencia gestionada por contenedor para enterprise beans. El valor predeterminado es true. (Boolean, opcional)

Ejemplos

Ejemplo de utilización de la modalidad por lotes:

  • Utilizando 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}}}
  • Utilizando la serie 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]]]') 
  • Utilizando la lista 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]]']) 

Ejemplo de utilización de la modalidad interactiva:

  • Utilizando Jacl:
    $AdminTask createDatasource {-interactive}
  • Utilizando Jython:
    AdminTask.createDatasource('-interactive')
Avoid trouble Avoid trouble: Tenga en cuenta los problemas siguientes al utilizar el mandato createDatasource:
  • Al crear un origen de datos que da soporte a persistencia manejada por contenedor, el mandato createDatasource crea dos objetos en la configuración del ámbito de destino: el origen de datos previsto y una fábrica de conectores CMP usado expresamente por el contenedor. Debe aplicar el mandato remove por separado en el origen de datos previsto y la fábrica de conectores CMP con el fin de suprimir el origen de datos de la configuración.
    El script siguiente ilustra cómo utilizar Jacl para suprimir el objeto CMPConnectorFactory de la configuración al suprimir un origen de datos que admite persistencia gestionada por contenedor:
    # El script siguiente elimina un origen de datos de
    la configuración,
    # incluida la fábrica de conectores CMP asociada.
    #
    # Establezca este variable en la serie de ID del origen de datos que se va a
    eliminar.
    set ds_to_remove "configID_of_my_data_source_to_remove"
    puts "Data source to remove='$ds_to_remove'"
    
    # Buscar y eliminar el objeto CMPConectorFactory asociado con el origen de datos que se  va a eliminar
    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
  • El mandato createDatasource no se ejecutará satisfactoriamente si está creando un origen de datos en un proveedor de JDBC que no existe o que no contiene el atributo providerType. Este error podría producirse si ha creado el proveedor de JDBC con el método AdminConfig create JDBCProvider de la API JMX. Este método crea el proveedor de JDBC pero no añade un atributo providerType.
    El mandato createDatasource emitirá el error siguiente:
    "ADMF0006E:
    Step configureResourceProperties of command createDatasource is not found" (No
    se encuentra el paso configureResourceProperties del mandato createDatasource)

    Para resolver este problema, utilice los mandatos del grupo JDBCProviderManagement, que proporciona los mandatos createJDBCProvider y createDatasource de AdminTask. Los mandatos AdminTask se han diseñado para ser utilizados a la vez.

    Los métodos de la API AdminConfig JMX "create JDBCProvider" y "create Datasource," que admiten la versión 5.1 y posteriores, también se han diseñado para utilizarse a la vez. Los scripts que utilizan los métodos de la API JMX no deben utilizar los mandatos AdminTask.

  • El mandato createDatasource no se completará satisfactoriamente si el ID de objeto de proveedor JDBC, que se especifica al crear el origen de datos, no coincide con el ID del proveedor JDBC. Si el ID de objeto de proveedor JDBC y el ID del proveedor JDBC no coinciden, puede obtener el ID correcto en el resultado del mandato createJDBCProvider. A continuación, especifique este ID cuando utilice el mandato createDatasource. Si ya ha creado el proveedor JDBC, utilice el mandato listJDBCProviders para listar el ID correcto.
gotcha

createJDBCProvider

El mandato createJDBCProvider crea un nuevo proveedor de JDBC (Java Database Connectivity) que puede utilizar para conectarse a una base de datos relacional para el acceso a datos.

Objeto de destino

Ninguna

Parámetros necesarios

-scope
Ámbito del nuevo proveedor JDBC. Proporcione el ámbito con el formato type=name. type puede ser Cell, Node, Server, Application o Cluster y name es el nombre de la instancia específica de la célula, nodo, servidor, aplicación o clúster que está utilizando. El valor predeterminado es none. (String, obligatorio)
-databaseType
Tipo de base de datos que utilizará el proveedor JDBC. Por ejemplo, DB2, Derby, Informix, Oracle, etc. (String, obligatorio)
-providerType
Tipo de proveedor JDBC que utilizará el proveedor JDBC. (String, obligatorio)
-implementationType
Tipo de implementación para este proveedor de JDBC. Utilice Origen de datos de la agrupación de conexiones si la aplicación se ejecuta en una sola fase o una transacción local. De lo contrario, utilice Origen de datos XA para ejecutar una transacción global. (String, obligatorio)

Parámetros opcionales

-classpath
Especifica una lista de vías de acceso o nombres de archivos JAR que forman la ubicación de las clases de proveedores de recursos. (String, opcional)
-description
Descripción del proveedor de JDBC. (String, opcional)
-implementationClassName
Especifica el nombre de clase Java de la implementación del controlador JDBC. (String, opcional)
-name
Nombre del proveedor JDBC. El valor predeterminado es el valor de la plantilla de proveedor. (String, opcional)
-nativePath
Especifica una lista de vías de acceso que constituyen la ubicación de las bibliotecas nativas del proveedor de recursos. (String, opcional)
-isolated
Especifica si el proveedor JDBC se carga en el cargador de clases. El valor predeterminado es false. No se puede especificar una vía de acceso nativa para un proveedor JDBC aislado. (Boolean, opcional)

Ejemplos

Ejemplo de utilización de la modalidad por lotes:

  • Utilizando 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. Los orígenes de datos creados bajo este proveedor permiten utilizar XA para el proceso de confirmación en dos fases. No está soportado el uso del controlador de tipo 2 en WAS z/OS para orígenes de datos creados bajo este proveedor."
    -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}"}}
  • Utilizando la serie 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
    compatible con el proveedor JDBC universal. Los orígenes de datos creados bajo este proveedor permiten utilizar XA para el proceso de confirmación en dos fases. El uso del tipo de controlador
     2 en WAS z/OS no está soportado para orígenes de datos creados bajo este proveedor." -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}]')
  • Utilizando la lista 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
    Los orígenes de datos creados bajo este proveedor permiten utilizar XA para el proceso de confirmación en dos fases. El
    uso del 
    tipo de controlador 2 en WAS z/OS no está soportado para los orígenes de datos creados bajo este proveedor.', '-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}']) 

Ejemplo de utilización de la modalidad interactiva:

  • Utilizando Jacl:
    $AdminTask createJDBCProvider {-interactive}
  • Utilizando Jython:
    AdminTask.createJDBCProvider('-interactive')

deleteDatasource

El mandato deleteDatasource suprime un origen de datos de un proveedor de JDBC existente en un ámbito específico.

Objeto de destino

ID del objeto DataSource: objeto de configuración de DataSource que se va a suprimir.

Parámetros necesarios

Ninguno.

Parámetros opcionales

Ninguno.

Ejemplos

Ejemplo de utilización de la modalidad por lotes:

  • Utilizando Jacl:
    $AdminTask deleteDatasource "DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml
    #DataSource_1170538153781)"
  • Utilizando la serie Jython:
    AdminTask.deleteDatasource('DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml#
    DataSource_1170538153781)')

Resultado:

El objeto DataSource se suprime en el ámbito específico. Además, si DataSource es un origen de datos DB2 configurado como controlador JDBC de tipo 4 y habilitado para redirección de cliente, el nombre JNDI especificado en el campo Nombre JNDI de lista de servidores de redirección de cliente o en la propiedad personalizada de origen de datos clientRerouteServerListJNDIName no está enlazado.

Para guardar los cambios realizados mediante el mandato, invoque el mandato save del objeto AdminConfig. Si los cambios no se guardan, el nombre JNDI de lista de servidores de redirección de cliente debe volver a enlazarse; para ello, emita una conexión de prueba en DataSource o reinicie el servidor.

deleteJDBCProvider

El mandato deleteJDBCProvider suprime un proveedor de JDBC y sus orígenes de datos en un ámbito específico.

Objeto de destino

ID del objeto JDBCProvider: objeto de configuración de JDBCProvider que se va a suprimir.

Parámetros necesarios

Ninguno.

Parámetros opcionales

Ninguna.

Ejemplos

Ejemplo de utilización de la modalidad por lotes:

  • Utilizando Jacl:
    $AdminTask deleteJDBCProvider "DB2 Universal JDBC Driver Provider
     (XA)(cells/myCell|resources.xml#JDBCProvider_1180538152781)"
  • Utilizando la serie Jython:
    AdminTask.deleteJDBCProvider('DB2 Universal JDBC Driver Provider (XA)
    (cells/myCell|resources.xml#JDBCProvider_1180538152781)')

Resultado:

Se suprime el objeto JDBCProvider en el ámbito específico. Si JDBCProvider es un proveedor DB2 Universal Database, para cada origen de datos de JDBCProvider configurado como controlador JDBC de tipo 4 y habilitado para redirección de cliente, el nombre JNDI especificado en el campo Nombre JNDI de lista de servidores de redirección de cliente o en la propiedad personalizada de origen de datos clientRerouteServerListJNDIName no está enlazado.

Para guardar los cambios realizados mediante el mandato, invoque el mandato save del objeto AdminConfig. Si los cambios no se guardan, los nombres JNDI de lista de servidores de redirección de cliente deben volver a enlazarse mediante conexiones de prueba en los orígenes de datos de JDBCProvider o mediante el reinicio del servidor.

listDatasources

Utilice el mandato listDatasources para listar los orígenes de datos que se encuentran en el ámbito especificado.

Objeto de destino

Ninguna

Parámetros necesarios

Ninguno.

Parámetros opcionales

-scope
El ámbito para los orígenes de datos que se van a enumerar. Proporcione el ámbito con el formato type=name. type puede ser Cell, Node, Server, Application o Cluster y name es el nombre de la instancia específica de la célula, nodo, servidor, aplicación o clúster que está utilizando. El valor predeterminado es All. (String, opcional)

Ejemplos

Ejemplo de utilización de la modalidad por lotes:

  • Utilizando Jacl:
    $AdminTask listDatasources {-scope Cell=my02Cell}
  • Utilizando la serie Jython:
    AdminTask.listDatasources('[-scope Cell=my02Cell]')
  • Utilizando la lista Jython:
    AdminTask.listDatasources('-scope', 'Cell=my02Cell')

Ejemplo de utilización de la modalidad interactiva:

  • Utilizando Jacl:
    $AdminTask listDatasources {-interactive}
  • Utilizando Jython:
    AdminTask.listDatasources('-interactive')

listJDBCProviders

El mandato listJDBCProviders muestra una lista de los proveedores JDBC contenidos en el ámbito especificado.

Objeto de destino

Ninguna

Parámetros necesarios

Ninguno.

Parámetros opcionales

-scope
El ámbito de los proveedores JDBC que se van a enumerar. Proporcione el ámbito con el formato type=name. type puede ser Cell, Node, Server, Application o Cluster y name es el nombre de la instancia específica de la célula, nodo, servidor, aplicación o clúster que está utilizando. El valor predeterminado es All. (String, opcional)

Ejemplos

Ejemplo de utilización de la modalidad por lotes:

  • Utilizando Jacl:
    $AdminTask listJDBCProviders {-scope Cell=my02Cell}
  • Utilizando la serie Jython:
    AdminTask.listJDBCProviders('-scope Cell=my02Cell')
  • Utilizando la lista Jython:
    AdminTask.listJDBCProviders(['-scope', 'Cell=my02Cell'])

Ejemplo de utilización de la modalidad interactiva:

  • Utilizando Jacl:
    $AdminTask listJDBCProviders {-interactive}
  • Utilizando Jython:
    AdminTask.listJDBCProviders('-interactive')

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rxml_atjdbcprovider
File name: rxml_atjdbcprovider.html