Altova MapForce 2025 Professional Edition

Sitio web de Altova: _ic_link Asignación de datos de BD

 

MapForce le permite usar bases de datos como origen o destino de datos.

 

La tabla siguiente enumera todas las bases de datos compatibles. Si usa la versión de 64 bits , compruebe que tiene acceso a los controladores de BD de 64 bits de la BD a la que quiere conectarse.

 

Base de datos

Notas

Firebird 2.x, 3.x, 4.x


IBM DB2 8.x, 9.x, 10.x, 11.x


IBM Db2 for i 6.x, 7.4, 7.5

Los archivos lógicos son compatibles y se muestran como vistas.

 

IBM Informix 11.70 y posterior

Informix es compatible con conexiones vía ADO, JDBC y ODBC. La implementación no admite tipos de datos de objetos grandes en ninguno de los lenguajes de generación de código. MapForce generará un mensaje de error (durante la generación de código) si se utiliza alguno de estos tipos de datos.

 

MariaDB 10 y posterior

MariaDB admite conexiones nativas. No se necesitan otros controladores.

 

Microsoft Access 2003 y posterior

En el momento de escribir esta documentación (principios de septiembre de 2019) no hay ningún Microsoft Access Runtime disponible para Access 2019. Solo puede conectarse a la BD de Access 2019 con productos de Altova si tiene instalado Microsoft Access 2016 Runtime y solamente si la BD no usa el tipo de datos "Large Number".

 

Microsoft Azure SQL Database

SQL Server 2016 codebase

 

Microsoft SQL Server 2005 y superior

Microsoft SQL Server en Linux


MySQL 5 y superior

MySQL 5.7 y sus versiones posteriores admiten conexiones nativas. No se necesitan otros controladores.

 

Oracle 9i y posterior


PostgreSQL 8 y posterior

Las conexiones PostgreSQL se admiten tanto como conexiones nativas como conexiones basadas en controladores a través de interfaces (controladores) como ODBC o JDBC. Las conexiones nativas no requieren controladores.

 

Progress OpenEdge 11.6


SQLite 3.x

 

 

 

Las conexiones SQLite se admiten como conexiones nativas y directas al archivo de base de datos SQLite. No se necesitan controladores separados.

Sybase ASE 15, 16


Teradata 16

Son compatibles las conexiones vía ADO.NET, JDBC y ODBC.

 

Cuando una asignación inserta datos en una tabla de BD, los campos de identidad generados por la base de datos no son compatibles.

 

 

Asignaciones de BD en distintos entornos de ejecución

Al generar código de programa a partir de una asignación, compilar una asignación en archivos de ejecución de MapForce Server o implementar una asignación en FlowForce Server, los detalles de la conexión de BD que se guardan con los archivos generados y están adaptados a los controladores compatibles para el entorno de destino elegido (ver siguiente tabla). Por ejemplo, si el lenguaje de transformación es Java, las conexiones ADO se convierten en JDBC al generar código a partir de la asignación.

 

Cuando la asignación de datos se ejecute en un entorno distinto al de MapForce, tendrá que asegurarse de que los detalles de la conexión a la base de datos tienen sentido en el equipo que ejecuta la asignación (por ejemplo, puede que tenga que comprobar si el controlador de la base de datos está instalado, la ruta de la base de datos es correcta, el servidor de la base de datos es accesible, etc.).

 

Algunos tipos de conexión de BD no se admiten en ciertos entornos de destino, como mostramos en la siguiente tabla.

 

Tipo de conexión/Entorno de ejecución

C#

C++

Java

MapForce Server en Windows

MapForce Server en Linux/Mac

ADO

puente ADO

Tal cual

Transformada en JDBC

Tal cual

Transformada en JDBC

ADO.NET

Tal cual

Definida por el usuario

Transformada en JDBC

Tal cual

Transformada en JDBC

JDBC

Definida por el usuario

Definida por el usuario

Tal cual

Tal cual

Tal cual

ODBC

puente ODBC

puente ODBC

Transformada en JDBC

Tal cual

Transformada en JDBC

Native PostgreSQL

No es compatible

No es compatible

No es compatible

Tal cual

Tal cual

Native SQLite

No es compatible

No es compatible

No es compatible

Tal cual

Tal cual

 

Leyenda de la tabla:

 

Tal cual significa que el tipo de conexión de la BD (p.ej., JDBC) es la que defina MapForce.

Transformada en JDBC significa que la conexión de BD se transformará en una URL de conexión de BD similar a la JDBC.

Puente ADO y puente ODBC significa que la cadena de la conexión permanece como la haya definido MapForce, pero el código generado usará una clase adecuada que actúe como puente ADO u ODBC según corresponda (p.ej. System.Data.OleDb.OleDbConnection o System.Data.Odbc.OdbcConnection).

Definida por el usuario significa que, para que la conexión funcione en el código generado, necesitará introducir manualmente los detalles de la conexión en el cuadro de diálogo Configurar componentes de BD.

 

 

Prevención de posibles problemas con las conexiones JDBC en entorno Java

Si la asignación se conecta a una base de datos por JDBC, compruebe que el controlador JDBC que utiliza la asignación está instalado en el sistema. Para ver la configuración JDBC actual de cualquier componente de BD en MapForce, haga doble clic en el encabezado del componente de BD. Esto abrirá el cuadro de diálogo Configuración del componente. Para más información consulte los apartados Configuración de componentes de base de datos y Crear una conexión JDBC.

 

Si la asignación utiliza una conexión de base de datos no JDBC, esta conexión puede convertirse a JDBC durante la generación del código Java y así proporcionar compatibilidad en un entorno Java. Para más detalles consulte la tabla anterior.

 

Si ejecuta la aplicación Java que ha generado, puede que tenga que añadir el controlador JDBC como entrada classpath en la configuración actual. Si no lo hace, la ejecución de la aplicación podría resultar en un error similar a este: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver.

 

En este subapartado explicamos algunos de los posibles métodos para solucionar problemas relacionados con JDBC.

 

 

Método n°1: Añadir el controlador JDBC como dependencia en Eclipse

Si trabaja con el complemento Eclipse, deberá añadir un controlador JDBC como dependencia. Para ello, siga estos pasos:

 

1.Genere código Java en MapForce e importe el proyecto a Eclipse, tal y como se describe en el apartado Generar, compilar y ejecutar código.

2.Haga clic en la configuración deseada en Eclipse (p.ej. MappingApplication).

3.En la pestaña Dependencias haga clic en Entradas classpath y después en Añadir JARs externas.

4.Busque el archivo .jar en su controlador JDBC (p.ej. C:\jdbc\mysql\mysql-connector-java-5.1.16-bin.jar).

5.Haga clic en Ejecutar para ejecutar el programa con el controlador JDBC de BD añadido como dependencia.

 

 

Método n°2: Añadir el controlador JDBC a la classpath de la tarea de prueba en build.xml

Si aparece un mensaje de error relacionado al controlador JDBC al ejecutar el archivo de Ant build.xml, añada el controlador JDBC a la classpath de la tarea test en el archivo build.xml. El fragmento de código que se ve a continuación es un ejemplo de una tarea test de Ant que incluye una referencia al archivo .jar del controlador JDBC (resaltado en amarillo más abajo).

 

<target name="test" depends="compile">
  <java classpath="C:\codegen\java\mysql_mapping" classname="com.mapforce.MappingConsole" fork="true" failonerror="true">
     <classpath>
        <pathelement path="${classpath}"/>
        <pathelement location="C:\jdbc\mysql\mysql-connector-java-5.1.16-bin.jar"/>
     </classpath>
     <arg line="${cmdline}"/>
  </java>
</target>

 

 

Método n°3: Incluir el controlador JDBC en el manifiesto de la aplicación

Si construye archivos JAR a partir de la aplicación Java generada, tendrá que añadir una referencia al controlador de la BD en la sección manifiesto del archivo build.xml. Esto garantiza que la referencia al controlador de BD está disponible en el archivo del manifiesto (MANIFEST.MF) una vez haya creado el proyecto.

 

Para añadir la referencia de BD al archivo del manifiesto, siga estos pasos:

 

1.Localice el elemento manifest en el archivo build.xml.

2.Añada un elemento nuevo llamado attribute donde el atributo name sea Class-Path y el atributo value sea el nombre del archivo .jar. Por ejemplo, para MySQL 5.1.16, el archivo manifest actualizado podría tener el siguiente aspecto (observe la línea resaltada en amarillo):

 

<manifest file="C:\codegen\java\mysql_mapping/META-INF/MANIFEST.MF" mode="replace">
  <attribute name="Created-By" value="MapForce 2025"/>
  <attribute name="Main-Class" value="com.mapforce.MappingConsole"/>
  <attribute name="Class-Path" value="mysql-connector-java-5.1.16-bin.jar"/>
</manifest>

 

3.Copie el archivo JAR del controlador JDBC a la carpeta que contenga el archivo JAR de la aplicación generada.

 

© 2018-2024 Altova GmbH