2008-08-07 14 views
7

Creé una vista en una máquina utilizando la función de subcadena de Firebird, y funcionó. Cuando copié la base de datos a una máquina diferente, la vista se rompió. Esta es la forma en que lo usé:La función Substring del SQL de Firebird no funciona

SELECT SUBSTRING(field FROM 5 FOR 15) FROM table; 

Y esta es la salida de la máquina que no acepta la función:

token unknown: FROM 

Ambos equipos tienen esta configuración:

  • IB Expert versión 2.5.0.42 para ejecutar las consultas y tratar con la base de datos.
  • Firebird versión 1.5 como servidor a la base de datos.
  • Administración de BDE versión 5.01 instalado, con Interbase 4.0 controladores.

alguna idea acerca de por qué se comportan de manera diferente en estas máquinas?

Respuesta

0

¿Diferentes versiones de motor?

¿Has probado a nombrar esa expresión en el resultado?

SELECT SUBSTRING(field FROM 5 FOR 15) AS x FROM table; 
2

1) Asegúrese de que el motor FB es de 1.5 y no hay servidor de Interbase que se ejecuta en esta caja de sema en el puerto que esperaba fb 1.5.

2) Asegúrese de que no tiene ninguna UDF llamada 'subcadena' registrada dentro de este DB, de modo que FB esté contemplando params diferentes.

Cuestiones relacionadas