![]() |
Problemas con un left outer join en FB2
Estaba decidido a esperar un tiempo en cambiarme a FB2, pero después de leer el hilo Compatibilidad Interbase 6 / Firebird 2.0 migré.
La primera impresión fue buena, todo funcionaba bien, incluso las UDFs desarrolladas por mi. El problema vino cuando quise ejecutar un script de creación de mi base de datos con el cual estoy actualmente trabajando. El error se produce al ejecutar lo siguiente:
El error que me da es que para FB2 idprovincia no pertenece a localidades. Por arriba de la linea que me da el error tengo otros left outer join, y no me dan problemas, con lo que descarto que FB2 tenga otra sintaxis. Luego volví a FB15.x y el script se ejecuto sin problemas. Alguna idea? Saludos TJose |
Cita:
|
Cita:
La linea con el error está en rojo. Como se ve antes del error tengo algunos con alias y otros no. Cuando instalé FB2 use el archivo de la base de datos creada con FB1.5.3 sin problemas. Saludos TJose |
Cita:
|
Declaracion de la tabla localidades
en la unica tabla que aparece idprovincia es en localidades, de todas manera si existiera en otra no debiera dar problemas ya que estoy haciendo referencia a la tabla:
Puede ser un bug de FB2? No lo creo. Con la 1.5.3 [en Windows (SS) y FreeBSD (CS)] y 1.5.4 en win no tengo problemas Saludos TJose |
Si quieres puedes pasarnos la metadata para crear la base de datos y probar nosotros...
|
¿Y puedes poner la sentencia completa que ejecutas?
|
Hola Casimiro
Simplemente cuando creo mi base de datos, ejecutando el script, en este caso desde SQLHammer, se planta en la línea mencionada, dandome el error (no recuerdo textualmente en ingles) campo desconocido, idprovincia no pertenece a la tabla localidades. Saludos TJose |
El problema es que tienes declarado "localidades locp" y "localidades loce" y "localidades" a secas. Deberías darle otro alias al que te da error para que sepa a cual pertenece. O cambiar: provincias on (localidades.idprovincia = provincias.id) por provincias on (loce.idprovincia = provincias.id) Por ejemplo. |
OK, pruebo y te aviso
|
Efectivamente Casimiro, cambié la línea por
y funcionó. Tengo otro script que genera los datos provenientes de una migración, Access->script->Firebird. Al final de este script borro los procedimientos y tablas temporales utilizados para dicha migración. Bien, en FB1.5 no había problemas, en FB2 me dice que los procedimeintos están en uso. No me importa mucho esto, los puedo borrar después, pero la pregunta es porqué pasa esto. Ahora están comentados, pero resalto en rojo donde da el error
Gracias Casimiro Saludos TJose |
Pues ahí ya no sé que responderte, pero por aventurar algo, prueba a lanzar un script con la primera parte:
Y luego otro script con los borrados
Puede que así puedas borrarlo. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 10:12:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi