Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-05-2011
coej coej is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: MANCHEGO-ESPAÑOL
Posts: 65
Poder: 14
coej Va por buen camino
Error creación trigger en InterbaseExpert

HOla a todos de nuevo, aquí sigo pataleando con delphi, firebird y interbase expert...
Os cuento mí nuevo problema, estoy intentando crear unos procedimientos en interbaseexpert(después de crear una tabla banco)
Con un codigo integer(not null ) y primary key...
fecha, y nombrebanco(ambos varchar).
Hasta ahí todo bien, ahora quiero crear un autoincremental en el código del banco(Primero marco un crear generador, y después crear trigger), pero cuando pulso ok, me da error...
Yo marco crear generador
pero ibexpert me crea sequence, y no se porque y me da error en ese comando
CREATE SEQUENCE BANCOS_ID...
Pero no encuentro ningún sitio donde retocar ese valor...
alguna sugerencia?
este s el error
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 7.
SEQUENCE.
y este el comando que me genera
CREATE SEQUENCE GEN_BANCOS_ID
gracias.

Última edición por coej fecha: 16-05-2011 a las 16:06:37.
Responder Con Cita
  #2  
Antiguo 16-05-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

¿ Cual es la sentencia exacta que utilizas para crear el generador, y cual es el mensaje de error que te devuelve ?.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 16-05-2011
coej coej is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: MANCHEGO-ESPAÑOL
Posts: 65
Poder: 14
coej Va por buen camino
Código SQL [-]
CREATE SEQUENCE BANCOS_ID
Pero no la genero yo, la genera ibexpert, yo edito el campo codigo en ibexpert, y elijo la casilla autoincrement, en esa pestaña elijo create_generator, y en la siguiente pestaña trigger, marco create trigger, es todo automático de ibexpert... yo no pongo nada a pelo...
Y el error me lo marca en la palabra sequence, que es la que me pone ibexpert, yo pensaba que me pondría
Código SQL [-]
CREATE GENERATOR BANCOS_ID
Responder Con Cita
  #4  
Antiguo 16-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Fíjate si estás creando una BD con dialecto 1 ó 3.
Responder Con Cita
  #5  
Antiguo 16-05-2011
coej coej is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: MANCHEGO-ESPAÑOL
Posts: 65
Poder: 14
coej Va por buen camino
Dialecto 1, aunque puedo probar a dialecto 3, si es eso...
La verdad es que estoy siguiendo una guia en la que utiliza firebird 1.5...
Pero no creo que eso afecte mucho, o si???
Tampoco tiene nada de raro, una tabla, un campo clave integer y crear el autoincremental con un trigger, tampoco veo por donde puede fallar...

En la guia el lo crea con server local la base de datos, y a mí me da error , tengo que crearla como remote , server localhost...
Responder Con Cita
  #6  
Antiguo 16-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sí, creo recordar que esas nuevas instrucciones son válidas para los firebird siguientes al 1.5 y con dialecto 3. Aunque no lo puedo confirmar ahora mismo.
Responder Con Cita
  #7  
Antiguo 16-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
La verdad es que estoy siguiendo una guia en la que utiliza firebird 1.5...
Pero no creo que eso afecte mucho, o si???
Yo creo que sí, la guía está basada en Firebird 1.5 y SECUENCE según entiendo es soportado a partir de Firebird 2.x

Saludos.

Edito: No vi tu post Casimiro, pero creo recordar lo mismo...
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 16-05-2011 a las 17:07:32.
Responder Con Cita
  #8  
Antiguo 16-05-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por coej Ver Mensaje
Dialecto 1, aunque puedo probar a dialecto 3, si es eso...
La verdad es que estoy siguiendo una guia en la que utiliza firebird 1.5...
Pero no creo que eso afecte mucho, o si???
Tampoco tiene nada de raro, una tabla, un campo clave integer y crear el autoincremental con un trigger, tampoco veo por donde puede fallar...

En la guia el lo crea con server local la base de datos, y a mí me da error , tengo que crearla como remote , server localhost...
Dialecto 1 es solo un modo para compatibilidad con versiones muy antiguas de Interbase. Para cualquier desarrollo actual deberías usar el Dialecto 3.

También te recomiendo que utilices Firebird 2.5 (el último Firebird disponible), puesto que todo lo que encontrarás en la guía de Firebird 1.5 es aplicable igualmente para Firebird 2.5, y podrás disfrutar de un gran conjunto de mejoras.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #9  
Antiguo 16-05-2011
coej coej is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: MANCHEGO-ESPAÑOL
Posts: 65
Poder: 14
coej Va por buen camino
Estoy usando firebird 2.5, e interbaseexpert personal edition version 29.03.2011
Lo de la guia es lo de menos,
Registro una bd , como local con server version firebird 2.5, marco el user y password, y no toco nada más, después creo la bd con los mismos datos(al path me refiero)
y después creo una tabla, bancos
campos
codigo integer
fecha varchar 20
banco varchar 100
Creo la tabla, y sin problemas
pico dos veces en el campo código, en la ventana de edición
pulso la pestaña autoincrement, en la subpestaña generator,lo marco y pongo que la secuencia inicial sea 1, en la siguiente subpestaña trigger, marco create trigger...
Pulso ok, me da el error de create sequence que indico...???? no se que estaré haciendo mal...
Responder Con Cita
  #10  
Antiguo 16-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por coej Ver Mensaje
Dialecto 1, aunque puedo probar a dialecto 3, si es eso...
La verdad es que estoy siguiendo una guia en la que utiliza firebird 1.5...
Pero no creo que eso afecte mucho, o si???
Cita:
Empezado por coej Ver Mensaje
Estoy usando firebird 2.5, e interbaseexpert personal edition version 29.03.2011
Para empezar tendrás que aclararte bien qué es lo que estás usando.
Responder Con Cita
  #11  
Antiguo 16-05-2011
coej coej is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: MANCHEGO-ESPAÑOL
Posts: 65
Poder: 14
coej Va por buen camino
Lo que pongo antes(Estoy usando firebird 2.5, y para crear la bd como programa para manejar firebird graficamente interbase personal edition...)
He probado con dialecto 1 y 3, y en los dos me lanza los mismos errores...

Lo que ponía antes es que la guia que estoy siguiendo , el que la hizo los pantallazos , están contra firebird 1.5, lo he mencionado por si ese cambio de versión afectaba para los errores...
Responder Con Cita
  #12  
Antiguo 16-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola coej.

Es extraño con Firebird 2.5, dialect 3 e IBExpert no recibí nunca un mensaje de error sobre secuence. Realmente no sé que puede estar pasando...

Te pongo un enlace donde aclara el uso de secuence y generator: GENERATOR/SECUENCE

Y otro sobre como cambiar de dialecto a la base de datos: Setting Database Dialect

Tal vez encuentres respuesta en alguno de ellos.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 16-05-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por coej Ver Mensaje
Lo que pongo antes(Estoy usando firebird 2.5, y para crear la bd como programa para manejar firebird graficamente interbase personal edition...)
He probado con dialecto 1 y 3, y en los dos me lanza los mismos errores...

Lo que ponía antes es que la guia que estoy siguiendo , el que la hizo los pantallazos , están contra firebird 1.5, lo he mencionado por si ese cambio de versión afectaba para los errores...
Perfecto. A partir de ahora utiliza solo el Dialecto 3 (como te comentaba antes, el Dialecto 1 solo se usa para compatiblidad con versiones muy antiguas, olvídate de él).

Seguimos esperando a que nos indiques el mensaje de error exacto que te aparece al intentar crear el generador.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #14  
Antiguo 16-05-2011
coej coej is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: MANCHEGO-ESPAÑOL
Posts: 65
Poder: 14
coej Va por buen camino
---------- STATEMENT ----------

CREATE SEQUENCE GEN_BANCOS_ID


---------- ERROR MESSAGE ----------

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 7.
SEQUENCE.



Este es el error exacto, de hecho no me pone nada del código del trigger, es como si no llegara a el, el error lo genera antes, ya que no me genera la secuencia(o al menos eso es lo que yo entiendo)...
Pero vuelvo a comentar, que yo no pongo nada a pelo, estoy siguiendo el "asistente" de ibexpert, creando el generador con inicio de secuencia 1 y el trigger marcando la casilla, yo no escribo nada de código...
Responder Con Cita
  #15  
Antiguo 16-05-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por guillotmarc Ver Mensaje
Seguimos esperando a que nos indiques el mensaje de error exacto que te aparece al intentar crear el generador.
Aunque me temo que tu problema es que la base de datos sigue en Dialecto 1, y solo estás cambiando su registro en IB-Expert (lo cual no cambia para nada la base de datos misma).

Para cambiar la base de datos a Dialecto 3, una buena forma de hacerlo es creándola de nuevo. Puedes usar la opción Extract Metadata, en el menú Tools de IB-Expert, para generar el Script que va a regenerar tu base de datos.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #16  
Antiguo 16-05-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Cita:
Empezado por coej Ver Mensaje
---------- STATEMENT ----------

CREATE SEQUENCE GEN_BANCOS_ID


---------- ERROR MESSAGE ----------

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 7.
SEQUENCE.



Este es el error exacto, de hecho no me pone nada del código del trigger, es como si no llegara a el, el error lo genera antes, ya que no me genera la secuencia(o al menos eso es lo que yo entiendo)...
Pero vuelvo a comentar, que yo no pongo nada a pelo, estoy siguiendo el "asistente" de ibexpert, creando el generador con inicio de secuencia 1 y el trigger marcando la casilla, yo no escribo nada de código...
En efecto no te acepta la sentencia de creación del generador.

Lo más probable es que aún tengas la base de datos en Dialecto 1, como te comentaba anteriormente. Yo no sé de que haya alguna forma de cambiar el Dialecto de una base de datos existente, así que te recomiendo que vuelvas a crear tu base de datos (esta vez indicando Dialecto 3 desde el principio).

NOTA: Por cierto, yo normalmente utilizo el CREATE GENERATOR, aunque el CREATE SEQUENCE debería hacer exactamente lo mismo. No está de más probar :

CREATE GENERATOR GEN_BANCOS_ID;

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #17  
Antiguo 16-05-2011
coej coej is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: MANCHEGO-ESPAÑOL
Posts: 65
Poder: 14
coej Va por buen camino
Si lo raro es que yo estoy escogiendo create generator, no se porque me pone sequence????

y acabo de crear registrar una nueva bd, con otro nombre, con dialecto 3, y al crear el generador y luego la secuencia, me sigue dando el mismo error..

Para poner otro error por si ayuda a identificar este, lo siguiente es crear procedures, y al crearla, me da error en la palabra or del create or alter procedure...
¿¿¿¿
Responder Con Cita
  #18  
Antiguo 16-05-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Pon esta sentencia en el SQL Editor, y ejecútala : CREATE GENERATOR GEN_BANCOS_ID;

¿ Se crea correctamente el generador ?.

Las sentencias CREATE PROCEDURE las tienes que poner en el Script Executive (ya que hay más de una sentencia involucrada).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #19  
Antiguo 16-05-2011
coej coej is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: MANCHEGO-ESPAÑOL
Posts: 65
Poder: 14
coej Va por buen camino
Si, se genera correctamente la sentencia con el sql editor...
Y a continuación puedo genera el trigger desde la edición del campo...
Lo que no entiendo es porque no puedo hacerlo de la otra forma, y porque no me reconoce el comando sequence...
Después he intentado eliminar el trigger, y el generator, el trigger lo he podido eliminar, pero el generator, no me deja
ni con
Código SQL [-]
drop generator GEN_BANCOS_ID;
ni con
Código SQL [-]
drop sequence GEN_BANCOS_ID;
En el editor de sql, no me reconoce ni generator, ni sequence, me da error en ese comando...

Con respecto a las procedures, no se pueden crear con botón derecho sobre el arbol de la izquierda y generarlo???, en la guia que he seguido los genera asi...

Gracias por la respuesta guillotmarc, al menos así puedo generar el trigger, luego probare con el procedure donde me comentas, pero es un fastidio que no funcione por el que creo que debería ser su funcionamiento normal...
Responder Con Cita
  #20  
Antiguo 16-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
También puede ser que esa versión de ibexpert tenga algún bug en ese apartado, suele ocurrir a veces, es uno de los motivos por los que sacan versiones nuevas muy seguidas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No Encuentro el Error del Trigger en FireBird 2.5 teletranx Firebird e Interbase 7 06-06-2011 22:03:25
Error al generar Trigger saltamirano Conexión con bases de datos 1 12-12-2007 19:35:53
Error en columna en Trigger brakaman Firebird e Interbase 2 13-06-2007 18:14:14
Error Calculos Trigger ASAPLTDA Firebird e Interbase 3 23-06-2006 14:30:13
Trigger ... error al crear Tomás Firebird e Interbase 6 06-05-2003 21:00:56


La franja horaria es GMT +2. Ahora son las 23:22:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi