Este patrón se utiliza para recuperar datos de una base de datos utilizando una conexión JDBC (Java Database Connectivity).
Se hace referencia a esta clase cuando el patrón de uso de la corriente de entrada recupera un solo resultado de una consulta, que se utiliza y descarta después de cada iteración del paso.
Se hace referencia a esta clase cuando se leen datos de una base de datos local.
Propiedad | Valor | LocalJDBCReader | CursorHoldableJDBCReader | JDBCReader |
---|---|---|---|---|
PATTERN_IMPL_CLASS | Clase que implementa la interfaz JDBCReaderPattern | Aplicable |
Aplicable |
Aplicable |
ds_jndi_name | Nombre JNDI del origen de datos. | Aplicable |
No se aplica |
Aplicable |
jdbc_url | El URL JDBC. Por ejemplo, jdbc:derby:C:\\mysample\\CREDITREPORT. | Aplicable |
No se aplica |
No se aplica |
jdbc_driver | El controlador JDBC. Por ejemplo, org.apache.derby.jdbc.EmbeddedDriver | Aplicable |
No se aplica |
No se aplica |
userid | El ID de usuario para la base de datos. Por ejemplo, Myid | Aplicable |
No se aplica |
No se aplica |
pswd | La contraseña de usuario. Por ejemplo, mypwd. Sólo LocalJDBCReader. | Aplicable |
No se aplica |
No se aplica |
Nombre de propiedad | Valor | Descripción | LocalJDBCReader | CursorHoldableJDCReader | JDBCReader |
---|---|---|---|---|---|
debug |
true o false (el valor predeterminado es false) |
Habilita el rastreo detallado en esta secuencia de datos por lotes. |
Aplicable |
Aplicable |
Aplicable |
EnablePerformanceMeasurement |
true o false (el valor predeterminado es false) |
Calcula el tiempo total invertido en las secuencias de datos por lotes y el método processRecord, si utiliza GenericXDBatchStep. |
Aplicable |
Aplicable |
Aplicable |
EnableDetailedPerformanceMeasurement |
true o false (el valor predeterminado es false) |
Proporciona un desglose más detallado del tiempo invertido en cada método de las secuencias de datos por lotes. |
Aplicable |
Aplicable |
Aplicable |
public interface JDBCReaderPattern { /** * Este método se invoca durante la fase de configuración de trabajo. * * @param props Propiedades proporcionadas en el xJCL */ public void initialize(Properties props); /** * Este método debe recuperar del objeto resultset dado los valores para las diversas columnas de la fila actual. * Normalmente estos datos se emplearán para llenar el objeto intermedio que debe devolverse. * @param resultSet * @return */ public Object fetchRecord(ResultSet resultSet); /** * Este método debe devolver una consulta SQL que se empleará durante la configuración de la * secuencia para recuperar los datos relevantes que se procesarán durante los pasos de trabajo * @return Objeto que se va a utilizar durante el paso de proceso */ public String getInitialLookupQuery(); /** * Este método se llama durante el reinicio del trabajo. La señal de reinicio debe utilizarse * para crear una consulta SQL que recuperará registros no procesados anteriormente. * Normalmente la señal de reinicio sería la clave primaria en la tabla y la consulta obtendrá * todas las filas con el valor clave > restarttoken * @param restartToken * @return La consulta de reinicio */ public String getRestartQuery(String restartToken); /** * Este método se invoca justo antes de tomarse un punto de control. * @return El método debe devolver un valor de serie que identifique el último registro leído por la secuencia. */ public String getRestartTokens(); }
<batch-data-streams> <bds> <logical-name>inputStream</logical-name> <props> <prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/> <prop name="ds_jndi_name" value="jdbc/fvtdb"/> <prop name="debug" value="true"/> <prop name="DEFAULT_APPLICATION_NAME" value="XDCGIVT"/> <!-- sólo versiones anteriores a la versión 6103 --> </props> <impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.CursorHoldableJDBCReader</impl-class> </bds> </batch-data-streams>
<batch-data-streams> <bds> <logical-name>inputStream</logical-name> <props> <prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/> <prop name="jdbc_url" value="jdbc:derby:C:\\mysample\\CREDITREPORT"/> <prop name="jdbc_driver" value="org.apache.derby.jdbc.EmbeddedDriver"/> <prop name="user_id" value="myuserid"/> <prop name="pswd" value="mypswd"/> <prop name="debug" value="true"/> </props> <impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.LocalJDBCReader</impl-class> </bds> </batch-data-streams>