Blog de divulgación de Ciencia y Tecnología
How to

Conectar Informix en Mirth Connect

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.

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.

Bases de datos soportadas
Bases de datos soportadas

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.

Drivers JDBC por defecto en Mirth Connect
Drivers JDBC por defecto en Mirth Connect

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.

Copiar ifxjdbc en la ruta de DB Drivers
Copiar ifxjdbc en la ruta de DB Drivers

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

Fichero dbdrivers
Fichero dbdrivers

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 &lt; 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»

Todos los Drivers JDBC en Mirth
Todos los Drivers JDBC en Mirth

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"
Driver Informix en Mirth Connect
Driver Informix en Mirth Connect

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.

Canal de prueba de conexion a Informix en Mirth Connect
Canal de prueba de conexion a Informix en Mirth Connect

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í:

Probando conexión a Informix en Mirth Connect
Probando conexión a Informix en Mirth Connect

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.

  1. 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.
  2. Deberás colo colocar el fichero db2jcc.jar en la carpeta database de Mirth Connect.
  3. 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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

2 ideas sobre “Conectar Informix en Mirth Connect”

Follow by Email
LinkedIn
Share
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de sus datos para estos propósitos. Ver
Privacidad