Groupe de commandes JDBCProviderManagement pour l'objet AdminTask
Le langage de script Jython ou Jacl en mode interactif permet de configurer l'accès aux données et les sources de données à l'aide de scripts. Les commandes et paramètres du groupe JDBCProviderManagement peuvent être utilisés pour créer ou répertorier les sources de données ainsi que les fournisseurs JDBC (Java™ Database Connectivity).
createDatasource
La commande createDatasource crée une nouvelle source de données pour accéder au stockage dorsal de données. Les composants de l'application utilisent la source de données pour accéder aux instances de connexion de votre base de données.
Objet cible
ID objet fournisseur JDBC - L'objet de configuration du fournisseur JDBC auquel appartiendra la nouvelle source de données.Paramètres requis
- - name
- Nom de la source de données. (Chaîne, obligatoire)
- -jndiName
- Nom JNDI (Java Naming and Directory Interface). (Chaîne, obligatoire)
- -dataStoreHelperClassName
- Nom de la classe d'implémentation DataStoreHelper qui étend les capacités de la classe d'implémentation du pilote JDBC sélectionné pour exécuter les fonctions spécifiques à la base de données. WebSphere Application Server met à disposition un ensemble de classes d'implémentation DataStoreHelper pour chaque pilote de fournisseur JDBC pris en charge. (Chaîne, obligatoire)
- configureResourceProperties
- Etape de commande qui configure les propriétés des ressources requises par la source de données. (Obligatoire) Vous pouvez spécifier les paramètres suivants pour cette étape :
- name
- Nom de la propriété des ressources. (Chaîne, obligatoire)
- type
- Type de la propriété des ressources. (Chaîne, obligatoire)
- value
- Valeur de la propriété des ressources. (Chaîne, obligatoire)
Paramètres facultatifs
- -description
- Description de la source de données. (Chaîne, facultatif)
- -category
- Chaîne que vous pouvez utiliser pour classifier un groupe de sources de données. (Chaîne, facultatif)
- -componentManagedAuthenticationAlias
- Alias utilisé pour effectuer l'authentification auprès de la base de données lors de l'exécution. Il n'est utilisé que lorsque la référence de ressource d'application utilise res-auth=Application. (Chaîne, facultatif)
- -containerManagedPersistence
- Paramètre spécifiant si cette source de données est utilisée pour la persistance gérée par conteneur des beans enterprise. La valeur par défaut est true. (Booléen, facultatif)
Exemples
Exemple d'utilisation en mode de traitement par lots :
- Avec 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}}}
- A l'aide de
la chaîne 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]]]')
- Avec une liste 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]]'])
Exemple d'utilisation en mode interactif :
- Avec Jacl :
$AdminTask createDatasource {-interactive}
- Avec Jython :
AdminTask.createDatasource('-interactive')

- Quand vous créez un source de données prenant en charge la persistance gérée par conteneur, la commande createDatasource crée deux objets dans la
configuration de la portée cible : la source de données désirée et une fabrique de connecteurs CMP qui est utilisée expressément par le conteneur. Vous devez exécuter la commande remove séparément sur l'objet de la source de données et sur l'objet de la fabrique de connecteurs CMP pour supprimer la source de données de la
configuration. Le script suivant montre comment utiliser Jacl pour supprimer l'objet CMPConnectorFactory de la configuration quand vous supprimez une source de données qui prend en charge la persistance gérée par conteneur :
# 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
- La commande createDatasource n'aboutit pas si vous créez une source de données sur un fournisseur JDBC qui n'existe pas ou qui n'a pas l'attribut
providerType. Cette erreur peut se produire si vous avez créé le fournisseur JDBC avec la méthode AdminConfig create JDBCProvider de l'API JMX. Cette méthode crée le fournisseur JDBC mais n'y ajoute pas l'attribut
providerType. Dans ce cas, la commande createDatasource va générer l'erreur suivante :
"ADMF0006E: Step configureResourceProperties of command createDatasource is not found"
Pour corriger ce problème, utilisez les commandes du groupe JDBCProviderManagement, en particulier les commandes AdminTask createJDBCProvider et createDatasource. Les commandes AdminTask sont conçues pour s'utiliser conjointement.
Les méthodes de l'API JMX AdminConfig "create JDBCProvider" et "create Datasource", qui prennent en charge la version 5.1 et les versions suivantes, sont aussi conçues pour s'utiliser conjointement. Les scripts qui utilisent les méthodes de l'API JMX ne doivent pas utiliser les commandes AdminTask.
- La commande createDatasource n'aboutit pas si l'ID objet fournisseur JDBC que vous indiquez lors de la création de la source de données ne correspond pas à l'ID du fournisseur JDBC. Si l'ID objet fournisseur JDBC et l'ID du fournisseur JDBC ne correspondent pas, vous pouvez obtenir l'ID correct à partir des résultats de la commande createJDBCProvider. Indiquez donc cet ID lorsque vous utilisez la commande createDatasource. Si vous avez déjà créé le fournisseur JDBC, utilisez la commande listJDBCProviders pour répertorier l'ID correct.
createJDBCProvider
La commande createJDBCProvider crée un nouveau fournisseur JDBC (Java Database Connectivity) à l'aide duquel vous pouvez vous connecter à une base de données relationnelle pour accéder aux données.
Objet cible
AucunParamètres requis
- -scope
- Portée du nouveau fournisseur JDBC. Indiquez la portée au format type=nom. Type peut être Cellule, Noeud, Serveur, Application ou Cluster, et name correspond au nom de l'instance spécifique de la cellule, du noeud, du serveur, de l'application ou du cluster utilisé. La valeur par défaut est none. (Chaîne, obligatoire)
- -databaseType
- Type de base de données utilisé par le fournisseur JDBC. Par exemple, DB2, Derby, Informix, Oracle, etc. (Chaîne, obligatoire)
- -providerType
- Type de fournisseur JDBC qui sera utilisé par le fournisseur JDBC. (Chaîne, obligatoire)
- -implementationType
- Type d'implémentation pour ce fournisseur JDBC. Utilisez Source de données du pool de connexions si votre application est exécutée dans une transaction à phase unique ou locale. Sinon, utilisez source de données XA pour une exécution dans une transaction globale. (Chaîne, obligatoire)
Paramètres facultatifs
- -classpath
- Liste des chemins d'accès ou des noms de fichiers JAR qui indiquent l'emplacement des classes du fournisseur de ressources. (Chaîne, facultatif)
- -description
- Description du fournisseur JDBC. (Chaîne, facultatif)
- -implementationClassName
- Nom de classe Java de l'implémentation du pilote JDBC. (Chaîne, facultatif)
- -name
- Nom du fournisseur JDBC. La valeur par défaut est la valeur du modèle du fournisseur. (Chaîne, facultatif)
- -nativePath
- Liste des chemins d'accès qui, ensemble, spécifient l'emplacement des bibliothèques natives du fournisseur de ressources. (Chaîne, facultatif)
- -isolated
- Spécifie si le fournisseur JDBC se charge dans le chargeur de classes. La valeur par défaut est false. Vous ne pouvez spécifier de chemin natif pour un fournisseur JDBC isolé. (Booléen, facultatif)
Exemples
Exemple d'utilisation en mode de traitement par lots :
- Avec 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. Les sources de données créées dans le cadre de ce fournisseur prennent en charge l'utilisation de XA pour exécuter le traitement de validation en 2 phases. L'utilisation du pilote de type 2 sur WAS z/OS n'est pas prise en charge pour les sources de données créées dans le cadre de ce fournisseur." -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}"}}
- A l'aide de
la chaîne 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. Les sources de données créées dans le cadre de ce fournisseur prennent en charge l'utilisation de XA pour exécuter le traitement de validation en 2 phases. L'utilisation du pilote de type 2 sur WAS z/OS n'est pas prise en charge pour les sources de données créées dans le cadre de ce fournisseur." -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}]')
- Avec une liste 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. Les sources de données créées dans le cadre de ce fournisseur prennent en charge l'utilisation de XA pour exécuter le traitement de validation en 2 phases. L'utilisation du drtype de pilote 2 sur WAS z/OS n'est pas pris en charge pour les sources de données créées sous ce fournisseur.', '-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}'])
Exemple d'utilisation en mode interactif :
- Avec Jacl :
$AdminTask createJDBCProvider {-interactive}
- Avec Jython :
AdminTask.createJDBCProvider('-interactive')
deleteDatasource
La commande deleteDatasource supprime une source de données dans un fournisseur JDBC dans une portée spécifique.
Objet cible
ID objet de source de données : Objet de configuration de la source de données à supprimer.Paramètres requis
Aucune.Paramètres facultatifs
Aucune.Exemples
Exemple d'utilisation en mode de traitement par lots :
- Avec Jacl :
$AdminTask deleteDatasource "DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml #DataSource_1170538153781)"
- A l'aide de
la chaîne Jython :
AdminTask.deleteDatasource('DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml# DataSource_1170538153781)')
Résultat :
La source de données est supprimée sur la portée spécifiée. De plus, si la source de données correspond à une source de données DB2 configurée comme pilote JDBC de Type 4 et activée pour la redirection du client, le nom JNDI spécifié dans la zone du nom JNDI de la liste de serveurs pour la redirection du client ou dans la propriété personnalisée de la source de données clientRerouteServerListJNDIName est délié.
Pour sauvegarder les modifications apportées par cette commande, appelez la commande "save" de l'objet AdminConfig. Si les modifications ne sont pas sauvegardées, le nom JNDI de la liste de serveurs pour la redirection du client doit être lié de nouveau en établissant une connexion de test avec la source de données ou en redémarrant le serveur.
deleteJDBCProvider
La commande deleteJDBCProvider supprime un fournisseur JDBC et ses sources de données dans une portée définie.
Objet cible
ID objet de fournisseur JDBC : Objet de configuration du fournisseur JDBC à supprimer.Paramètres requis
Aucune.Paramètres facultatifs
Aucun.Exemples
Exemple d'utilisation en mode de traitement par lots :
- Avec Jacl :
$AdminTask deleteJDBCProvider "DB2 Universal JDBC Driver Provider (XA)(cells/myCell|resources.xml#JDBCProvider_1180538152781)"
- A l'aide de
la chaîne Jython :
AdminTask.deleteJDBCProvider('DB2 Universal JDBC Driver Provider (XA) (cells/myCell|resources.xml#JDBCProvider_1180538152781)')
Résultat :
Le fournisseur JDBC est supprimé dans la portée spécifiée. Si le fournisseur JDBC est un fournisseur de base de données DB2, pour chaque source de données du fournisseur JDBC configurée comme pilote JDBC de Type 4 et activée pour la redirection du client, le nom JNDI spécifié dans la zone du nom JNDI de la liste de serveurs pour la redirection du client ou dans la propriété personnalisée de la source de données clientRerouteServerListJNDIName est délié.
Pour sauvegarder les modifications apportées par cette commande, appelez la commande "save" de l'objet AdminConfig. Si les modifications ne sont pas sauvegardées, les noms JNDI de la liste de serveurs pour la redirection du client doivent être liés de nouveau en établissant une connexion de test avec les sources de données du fournisseur JDBC ou en redémarrant le serveur.
listDatasources
La commande listDatasources permet de répertorier les sources de données contenues dans la portée spécifiée.
Objet cible
AucunParamètres requis
Aucune.Paramètres facultatifs
- -scope
- Portée des sources de données à répertorier. Indiquez la portée au format type=nom. Type peut être Cellule, Noeud, Serveur, Application ou Cluster, et name correspond au nom de l'instance spécifique de la cellule, du noeud, du serveur, de l'application ou du cluster utilisé. La valeur par défaut est All. (Chaîne, facultatif)
Exemples
Exemple d'utilisation en mode de traitement par lots :
- Avec Jacl :
$AdminTask listDatasources {-scope Cell=my02Cell}
- A l'aide de
la chaîne Jython :
AdminTask.listDatasources('[-scope Cell=my02Cell]')
- Avec une liste Jython :
AdminTask.listDatasources('-scope', 'Cell=my02Cell')
Exemple d'utilisation en mode interactif :
- Avec Jacl :
$AdminTask listDatasources {-interactive}
- Avec Jython :
AdminTask.listDatasources('-interactive')
listJDBCProviders
La commande listJDBCProviders répertorie les fournisseurs JDBC contenus dans la portée spécifiée.
Objet cible
AucunParamètres requis
Aucune.Paramètres facultatifs
- -scope
- Portée des fournisseurs JDBC à répertorier. Indiquez la portée au format type=nom. Type peut être Cellule, Noeud, Serveur, Application ou Cluster, et name correspond au nom de l'instance spécifique de la cellule, du noeud, du serveur, de l'application ou du cluster utilisé. La valeur par défaut est All. (Chaîne, facultatif)
Exemples
Exemple d'utilisation en mode de traitement par lots :
- Avec Jacl :
$AdminTask listJDBCProviders {-scope Cell=my02Cell}
- A l'aide de
la chaîne Jython :
AdminTask.listJDBCProviders('-scope Cell=my02Cell')
- Avec une liste Jython :
AdminTask.listJDBCProviders(['-scope', 'Cell=my02Cell'])
Exemple d'utilisation en mode interactif :
- Avec Jacl :
$AdminTask listJDBCProviders {-interactive}
- Avec Jython :
AdminTask.listJDBCProviders('-interactive')