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

- 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.
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
NingunaPará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
NingunaPará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
NingunaPará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')