Mirth Connect proporciona conectores de distintos tipos para obtener la fuente de datos en nuestra integración. Uno de ellos es el Database Connector, que nos permite obtener la fuente de una consulta a base de datos directamente. Este conector utiliza drivers para las bases de datos mas importantes, pero no incluye Informix. A pesar de ello, es posible hacerlo. En este tutorial veremos cómo conectar Informix en Mirth Connect.
Contenidos
Bases de datos soportadas en Mirth Connect
El conector Database Connector nos permite seleccionar alguno de los drivers precargados en Mirth Connect para conectar a nuestra base de datos.

Pulsando en el desplegable Driver, cuando hemos seleccionado este conector, podemos ver el listado de SGBD soportados: MySql, Oracle, PostgreSQL, SQL Server, Sybase y SQLite.
Dependiendo de la versión de Mirth Connect con la que estamos trabajando, tendremos disponible el selector Custom o no. En la versión 3.8, si pinchamos en este selector nos aparecerá un cuadro con los drivers JDBC que utiliza cada uno.

Entonces cómo conectar Informix
Una de las ventajas de que Mirth Connect esté desarrollado en Java es que podemos utilizar los drivers JDBC para añadir conectividad con un SGBD que, por defecto, no tenga.
Eso no sirve exclusivamente para Informix, también funcionará con cualquier otro SGBD que disponga de driver JDBC.
En primer lugar será necesario disponer del driver ifxjdbc.jar de la versión de Informix al que vayas a conectar. Para mas información sobre la descarga, en la web de IBM Informix JDBC Driver.
Una vez que disponemos del ifxjdbc.jar, es necesario colocarlo en la ruta server-lib\database de la carpeta de instalación de Mirth Connect.

Versiones anteriores a Mirth Connect 3.8.0
Una vez tenemos el driver de Informix en la ruta database, es necesario agregar el registro del nuevo driver en el fichero de configuraciones. Para ello, en la ruta \conf del directorio de instalación de Mirth Connect, y editar el fichero dbdrivers.xml

Este fichero contiene un registro por cada driver de base de datos configurado. Será necesario añadir un nuevo registro driver, donde es muy importante indicar la clase que utilizará.
En nuestro caso, hay que especificar la clase del driver de informix:
class="com.informix.jdbc.IfxDriver"
Además, una plantilla de parametrización con la url del driver, que se insertará cuando pulsemos el botón «Insert URL Template» del Database Connector.
Como ejemplo, mi fichero dbdrivers.xml queda así:
<!-- Database driver information class = the driver class name, cannot be empty name = database driver name to be displayed as, cannot be empty template = the template for creating the database connection, cannot be empty selectLimit = defines the select statement used for retrieving column information, empty means use the generic query (which could be slow) alternativeClasses = A comma-separated list of legacy driver classes (optional). --> <drivers> <driver class="com.mysql.cj.jdbc.Driver" name="MySQL" template="jdbc:mysql://host:port/dbname" selectLimit="SELECT * FROM ? LIMIT 1" alternativeClasses="com.mysql.jdbc.Driver" /> <driver class="oracle.jdbc.driver.OracleDriver" name="Oracle" template="jdbc:oracle:thin:@host:port:dbname" selectLimit="SELECT * FROM ? WHERE ROWNUM < 2" /> <driver class="org.postgresql.Driver" name="PostgreSQL" template="jdbc:postgresql://host:port/dbname" selectLimit="SELECT * FROM ? LIMIT 1" /> <driver class="net.sourceforge.jtds.jdbc.Driver" name="SQL Server/Sybase" template="jdbc:jtds:sqlserver://host:port/dbname" selectLimit="SELECT TOP 1 * FROM ?" /> <driver class="org.sqlite.JDBC" name="SQLite" template="jdbc:sqlite:dbfile.db" selectLimit="SELECT * FROM ? LIMIT 1" /> <driver class="com.informix.jdbc.IfxDriver" name="Informix" template="jdbc:informix-sqli://HostName:port/database:informixserver=InformixServer"/> </drivers>
Una vez hecho esto, solo queda reiniciar el servidor para que cargue la librería jar, y la configuración, y tendremos disponible el nuevo driver para conectar Informix en Mirth Connect.
Versiones Mirth Connect 3.8.0 o posterior
A partir de la versión 3.8.0 se simplificó este proceso, no siendo necesario editar el fichero dbdrivers.xml, que pasa a incorporarse al esquema interno de base de datos de Mirth.
De esta manera, simplemente selecionando la opción «Custom» podremos añadir un nuevo driver de conexión a base de datos pulsando el botón «Add»

En la nueva línea tendremos que completar los mismos campos comentados en las versiones mas antiguas. Es imprescindible el campo Class Name con el valor:
"com.informix.jdbc.IfxDriver"

Guardando cambios, sin necesidad de reiniciar, ya lo tenemos disponible.
Probando la conexión a Informix en Mirth Connect
Una vez seguidos estos pasos, tendremos disponible en el desplegable de Drivers una opción «Informix». Al marcarla, podremos pulsar el botón Insert URL Template, y nos incluirá la plantilla que hayamos definido en el driver.

Este canal de prueba básica mostrara las tablas del catálogo de base de datos de informix cuyo nombre empieza por sys.
Aunque es muy simple, puedes descargártelo para probarlo en la versión 3.8.1. El resultado será así:

Conectar DB2 en Mirth Connect
Tal como comentamos antes, este procedimiento no es exclusivo de Informix, cualquier SGBD que disponga de JDBC será posible conectarlo siguiendo el mismo procedimiento.
- En el caso de DB2, igualmente deberás descargar el driver db2jcc.jar correspondiente a la versión. En esta página de IBM podrás encontrar mas información de la descarga de JDBC DB2.
- Deberás colo colocar el fichero db2jcc.jar en la carpeta database de Mirth Connect.
- Si tu versión de Mirth Connect es inferior a 3.8.0 deberás editar el fichero dbdrivers.xml y añadir un registro para DB2 especificando la clase class=»com.ibm.db2.jcc.DB2Driver» y reiniciar Mirth Connect.
<driver class="com.ibm.db2.jcc.DB2Driver" name="DB2" template="jdbc:db2://host:port/database" />
Conectar MongoDB en Mirth Connect
Para el caso de bases de datos NoSQL existe otra alternativa, ya que no es posible configurar drivers JDBC para lanzar consultas desde el conector Database Connector. Este conector sólo permite lanzar SQL a base de datos relacional.
Pero no está todo perdido, es posible conectar utilizando el driver Java que proporciona MongoDB, que habrá que descargar. Para mas información en la web del Java MongoDB Driver encontraremos lo que necesitamos.
Una vez descargado, deberemos colocar los jar del API Java en la carpeta Custom Lib y seguir los pasos del tutorial como utilizar una libreria externa en Mirth Connect.
2 ideas sobre “Conectar Informix en Mirth Connect”
Hola José… De antemano gracias por compartir…. Amigo ayudame por favor con este dilema….
Estoy leyendo de una base de datos SQL server una información … Un wsdl está esperando una respuesta… Yo logro enviársela… El tema es que el wsdl puede recibir por ejemplo varios TAG con el mismo nombre
111
222…..
El tema es que cuando el transformador envía …solo envía el primer TAG de estudio 111 el resto le pone unos caracteres estratos no válidos para el wsdl
Tienes por favor alguna sugerencia
Gracias
Hola Johan,
Me falta mucha información para poderte ayudar, pero tal vez el campo del que estás leyendo sea de tipo TEXT o IMAGE, es decir un campo LOB. Para estos tipos de datos hay que darle un tratamiento especial. Por supuesto, cualquier campo de texto, aunque sea un varchar o char, podría contener caracteres reservados de xml que habría que escapar.
Mirth convierte internamente los datos a xml. Es decir, si tienes un Database Connector, con una lectura de varios campos, internamente va a convertirlos a xml, y si el resultado de la lectura tiene caracteres xml, te podrá dar un error en el transformer.
No sé si este puede ser tu caso.
Un saludo.