[SOLUCIONADO] Problemas en datos_relacion con tablas de diferentes esquemas

Hola, tengo el siguiente problema. Tenemos un proyecto trabajando sin problemas, que mereció una restructuración de la base de datos en distintos esquemas. Todo estaría funcionando bien, a excepción de una relación que involucra tablas que están en diferentes esquemas.
Para cada esquema se tiene una fuente de datos.
Cada tabla de la relación, pertenece a una fuente de datos diferente.

MENSAJE: Error cargando la tabla TABLA1, a continuación el mensaje de la base:
ERROR: no existe la relación «TABLA2» LINE 22: TABLA2 as TABLA2 ^

SQL:
SELECT TABLA1.id, TABLA1.id_funcion_tipo, TABLA1.fecha_inicio, TABLA1.fecha_fin_original,... TABLA1.confirmada
FROM TABLA1 as TABLA1
WHERE (TABLA1.id_comision) IN ( SELECT id FROM TABLA2 as TABLA2 WHERE TABLA2.id = "2071" )

Desde mi punto de vista, puede generalizarse forzando el agregado de la fuente de datos de cada tabla en la consulta que se genera… algo de la forma FROM ESQUEMA1.TABLA1 as TABLA1…

Si se tienen varias fuentes, lo mejor es al ejecutar la consulta utilizar la instrucción que incluye la fuente:

toba::db(‘fuente_1’)->consultar($sql);
toba::db(‘fuente_2’)->consultar($sql);

Saludos

Sisi, eso está claro. Gracias igual.
La consulta que planteo no la armo yo, la arma toba al ejecutar un datos_relacion que incluye esas 2 tablas.
Para mi, que Toba no hace referencia a las fuentes de las tablas, porque asume que están en la misma fuente… que no es mi caso.
Desde mi punto de vista, si es lo que creo, no es un error, sino una mejora que contemplaría esta y cualquier otra situación a futuro, generalizando e independizando el origen de cada tabla que se incluirá en la relación.

Hola Martin,

recuerdo que este tema ya se habia hablado aca en el foro, Claudio nos dejo una sugerencia no hace mucho al respecto (en la que estoy trabajando ahora) y a Jhon creo que le habia dado una respuesta mas completa sobre el caso en su momento.

Basicamente, el DT obtiene su schema de la fuente de datos y se asume que cada fuente de datos representa una posible bd, con lo cual un DR no puede tener DT’s de distintas fuentes, ya que la conexion a la bd debe ser una sola, de otra forma no se puede garantizar una transaccion.

El caso particular surge porque las fuentes trabajan con un solo schema, entonces se puede dar que 2 fuentes apunten a la misma bd, sin embargo eso a priori no se sabe.

Probablemente para la proxima version ya no tengas esta limitacion actual, ya que el schema de trabajo se trasladaria al DT.

Saludos

Ok… esperaré ansioso la nueva versión… :slight_smile:

Mientras tanto, convencí al DBA (yo mismo!) para que acomode la relación en el otro esquema… depende de donde lo mires, al representar la tabla una relación en si misma, puede estar en cualquiera de los esquemas.

Mil gracias!