Bases de datos
Sitio web de Altova: 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 |
---|---|
Apache CouchDB 3.x | Base de datos NoSQL. Para más detalles, consulte la documentación de CouchDB. Para saber cómo funcionan las bases de datos NoSQL en MapForce, consulte Bases de datos NoSQL.
|
Azure CosmosDB | Azure CosmosDB es una base de datos NoSQL, relacional y vectorial. Para ver cómo se establece la conexión con esta base de datos, consulte Conectarse a Azure CosmosDB. Para ver cómo se trabaja con bases de datos NoSQL en MapForce, consulte Bases de datos NoSQL. Para más información sobre la base de datos, consulte los siguientes artículos:
•Azure Cosmos DB (página del producto) •Azure Cosmos DB - Database for the AI Era •Documentación de Azure Cosmos DB
|
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 | |
MongoDB 4.x | Base de datos NoSQL. Para más detalles, consulte la documentación de MongoDB. Para saber cómo funcionan las bases de datos NoSQL en MapForce, consulte Bases de datos NoSQL.
|
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.