ExecuteQueryProcessor
Datos Generales
Nombre Calificado | com.latintech.thuban.docintro.workitem.processor.ExecuteQueryProcessor |
---|---|
Descripción | Procesador que ejecuta una consulta sobre una base de datos. No es válido para Update, Create o Delete. |
Extiende de | -- |
Usos |
|
Disponible desde | 7.3 |
Parámetros soportados
A continuación se listarán todos los parámetros aceptados por el procesador. Los títulos que anteceden cada tabla son los nombres de los parámetros, los mismos son caseSensitive.
queryToExecute
Tipo | String |
---|---|
Requerido | Sí |
Descripción | La consulta SQL a ejecutar en la base de datos. Utilizando [nombreCampo] se reemplaza en la query la variable por el valor que posea el campo “nombreCampo” en el mapa de campos del workitem. |
fields
Tipo | List<String> |
---|---|
Requerido | No |
Descripción | Los ID de los campos para vincular los resultados de la consulta. En caso de informar el parámetro “includeHeaders“ con valor “false”, este parámetro pasa a ser obligatorio. |
includeHeaders
Tipo | Boolean |
---|---|
Requerido | No. Valor por defecto “false” |
Descripción | Le indica al procesador que debe ejecutar la consulta a la base de datos obteniendo junto a la misma los nombres de las columnas retornadas. Si no se informan campos en el parámetro “fields” se utilizarán estos nombres de columnas como fields. |
dataSource
Tipo | Datasource |
---|---|
Requerido | No |
Descripción | Base de datos sobre la cual ejecutara la “queryToExecute“. En caso de no estar definido, se utilizará la base de datos de Thuban. En caso de querer definirlo, es preciso definir el DataSource a utilizar en el XML del docintro. Por ejemplo: <bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="myusername"/>
<property name="password" value="mypassword"/>
<property name="driverClass" value="net.sourceforge.jtds.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:jtds:sqlserver://127.0.0.1:1433/MyDatabase;sendStringParametersAsUnicode=false"/>
<property name="acquireIncrement" value="2"/>
<property name="maxPoolSize" value="30"/>
<property name="minPoolSize" value="3"/>
<property name="maxConnectionAge" value="50000"/>
<property name="maxIdleTime" value="10000"/>
<property name="idleConnectionTestPeriod" value="6000"/>
<property name="maxIdleTimeExcessConnections" value="2000"/>
</bean> |
throwExceptionOnEmptyResultset
Tipo | Boolean |
---|---|
Requerido | No. Valor por defecto “false” |
Descripción | Le indica al procesador si debe arrojar un error si al ejecutar la consulta, ésta no retorna ningún resultado. |
Ejemplos de Configuración
Básica
<bean id="executeQueryProcessor" class="com.latintech.thuban.docintro.workitem.processor.ExecuteQueryProcessor">
<property name="queryToExecute" value="SELECT NRO_FACTURA FROM THUBAN_INDEXES WHERE NRO_CLIENTE = '[NRO_CLIENTE]'"/>
<property name="includeHeaders" value="true"/>
</bean>
Consultar una base de datos diferente
<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="myusername"/>
<property name="password" value="mypassword"/>
<property name="driverClass" value="net.sourceforge.jtds.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:jtds:sqlserver://127.0.0.1:1433/MyDatabase;sendStringParametersAsUnicode=false"/>
<property name="acquireIncrement" value="2"/>
<property name="maxPoolSize" value="30"/>
<property name="minPoolSize" value="3"/>
<property name="maxConnectionAge" value="50000"/>
<property name="maxIdleTime" value="10000"/>
<property name="idleConnectionTestPeriod" value="6000"/>
<property name="maxIdleTimeExcessConnections" value="2000"/>
</bean>
<bean id="executeQueryProcessor" class="com.latintech.thuban.docintro.workitem.processor.ExecuteQueryProcessor">
<property name="queryToExecute" value="SELECT NRO_FACTURA FROM THUBAN_INDEXES WHERE NRO_CLIENTE = '[NRO_CLIENTE]'"/>
<property name="includeHeaders" value="true"/>
<property name="datasource" value="myDataSource"/>
</bean>
Especificando campos
<bean id="executeQueryProcessor" class="com.latintech.thuban.docintro.workitem.processor.ExecuteQueryProcessor">
<property name="queryToExecute" value="SELECT NRO_FACTURA, TIPO_COMPROBANTE, NOMBRE_CLIENTE FROM THUBAN_INDEXES WHERE NRO_CLIENTE = '[NRO_CLIENTE]'"/>
<property name="fields">
<list>
<value>NRO_FACTURA</value>
<value>T_COMPROBANTE</value>
<value>D_NOM_CLI</value>
</list>
</property>
</bean>