JDBCCallableStatementWriterPattern
Ce masque est utilisé pour implémenter la logique métier de sortie des données d'une connexion Java™ Database Connectivity (JDBC) utilisant une procédure mémorisée. Les tâches administratives d'ouverture et de fermeture de la connexion sont effectuées par l'infrastructure par lots.
Classes prises en charge
- JDBCCallableStatementWriter
Cette classe est référencée lorsque le masque d'utilisation de votre flux en entrée JDBC extrait un seul résultat d'une requête. La requête et les résultats sont ignorés après chaque itération de l'étape. La seule différence entre cette classe et JBDCWriter est la suivante : elle utilise une instruction pouvant être appelée à la place d'une instruction préparée.
- LocalJDBCCallableStatementWriter
Cette classe est référencée lorsque des données sont lues à partir d'une base de données locale.
Propriétés requises
Les propriétés suivantes sont
requises pour le masque.
Propriété | valeur | JDBCCallableStatementWriter | LocalJDBCCallableStatementWriter |
---|---|---|---|
PATTERN_IMPL_CLASS | Classe implémentant l'interface JDBCCallableStatementReaderPattern | Applicable | Applicable |
ds_jndi_name | Nom JDNI de la source de données. | Applicable | Applicable |
jdbc_url | Adresse URL JDBC. Par exemple, jdbc:derby:C:\\mysample\\CREDITREPORT. | Non applicable | Applicable |
jdbc_driver | Pilote JDBC. Par exemple, org.apache.derby.jdbc.EmbeddedDriver | Non applicable | Applicable |
userid | ID utilisateur de la base de données. | Non applicable | Applicable |
pswd | Le mot de passe de l'utilisateur. | Non applicable | Applicable |
Propriétés facultatives
Les propriétés suivantes sont
optionnelles pour le masque.
Nom de la propriété | valeur | Description | JDBCCallableStatementWriter | LocalJDBCCallableStatementWriter |
---|---|---|---|---|
debug | true ou false. La valeur par défaut est false. | Active le traçage détaillé sur ce flux de données par lots. | Applicable | Applicable |
batch_interval | La valeur par défaut est 20. Cette valeur doit être inférieure à l'intervalle de point de contrôle pour l'utilisation de point de contrôle basée sur des enregistrements. | Désigne le nombre de mises à jour SQL à traiter par lots avant validation. | Applicable | Applicable |
EnablePerformanceMeasurement | true ou false. La valeur par défaut est false. | Calcule le temps écoulé dans les flux de données par lots et la méthode processRecord, si vous utilisez GenericXDBatchStep. | Applicable | Applicable |
EnableDetailedPerformanceMeasurement | true ou false. La valeur par défaut est false. | Fournit un arrêt plus détaillé du temps écoulé dans chaque méthode des flux de données par lots. | Applicable | Applicable |
Définition de l'interface
public interface JDBCCallableStatementWriterPattern {
/**
* This method is invoked during the job setup phase.
*
* @param props properties provided in the xJCL
*/
public void initialize(Properties props);
/**
* This is typically an Update query used to write data into the database
* @return
*/
public String getCallableStatementSQL();
/**
* The parent class BDSCallableStatementJDBCWriter creates a new CallableStatement and
* passes it to this method. This method populates the CallableStatement
* with appropriate values and returns it to the parent class for execution
* @param pstmt
* @param record
* @return
*/
public CallableStatement writeRecord(CallableStatement pstmt, Object record);
}
Exemple JDBCCallableStatementWriter xJCL
<batch-data-streams>
<bds>
<logical-name>outputStream</logical-name>
<props>
<prop name="IMPLCLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoWriter"/>
<prop name="ds_jndi_name" value="jdbc/IVTdbxa"/>
<prop name="batch_interval" value="2"/>
<prop name="EnablePerformanceMeasurement" value="true"/>
<prop name="debug" value="false"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.JDBCCallableStatementWriter</impl-class>
</bds>
</batch-data-streams>