Pregunta
· 12 ago, 2024

Error consultando foreign table en MySQL

¡Hola estimados miembros de la comunidad!

En esta ocasión no vengo con ningún artículo sino con un problema que me he encontrado al definir una conexión a una tabla ubicada en una base de datos externa en MySQL.

Estoy haciendo algunas pruebas con la funcionalidad de las Foreign Tables incluidas en IRIS que permite incluir tablas externas en modo consulta como si fueran propias de IRIS y he visto que funciona perfectamente con una tabla ubicada en PostgreSQL, el problema ha sido al intentar hacer lo mismo con una tabla de MySQL, he seguido los siguiente pasos como indica la documentación:

  • Paso 1: He creado la conexión a la base de datos de MySQL desde la configuración de SQL Gateway connection: **AVISO** si el nombre del fichero que contiene el driver es demasiado largo IRIS no podrá cargarlo.
  • Paso 2: He creado el Foreign Server:
    CREATE FOREIGN SERVER Test.MySQLDB FOREIGN DATA WRAPPER JDBC CONNECTION 'MySQL'
  • Paso 3: He creado la Foreign Table:
    CREATE FOREIGN TABLE Test.PatientMySQL SERVER Test.MySQLDB TABLE 'patient'
  • Paso 4: He lanzado al consulta a Test.PatientMySQL:
    SELECT * FROM Test.PatientMySQL

Y este ha sido el error:

[SQLCODE: <-230>:<Foreign table query Execute() failed>]

[%msg: <Foreign Tables - ERROR #8104: Gateway Exception: <GATEWAY> java.sql.SQLSyntaxErrorException com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:112) Remote database reported error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"patient" T1' at line 1>]

Como podéis ver, el problema son las dobles comillas que aparecen en el nombre de la tabla en la consulta que IRIS está ejecutando, MySQL es incapaz de reconocerlo y nos devuelve ese error. Por si acaso he revisado la versión de MySQL y el driver utilizado y ambas son la versión 9, así que no parece que sea eso.

¿Es un bug para MySQL? ¿He configurado algo erroneamente?

¡Gracias por adelantado!

Product version: IRIS 2024.1
$ZV: IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2024.2 (Build 247U) Tue Jul 16 2024 09:29:04 EDT
Comentarios (0)1
Inicie sesión o regístrese para continuar