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 05-01-2006
Luis Castillo Luis Castillo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 102
Poder: 21
Luis Castillo Va por buen camino
Cambiar dominio

Hola colegas.

Trabajo en Interbase y tengo un Dominio hecho

CREATE DOMAIN D_CEDULA AS VARCHAR(10)

y tengo muchas tablas que usan este dominio y ta estas tablas tienen datos, y estas tablas tienen relaciones, llaves foraneas etc....

Me di cuenta que hay cedulas de mas de 10 cifras y traté de alterar el dominio:

ALTER DOMAIN D_CEDULA TYPE VARCHAR(15)

pero me sale el siguiente error:

Cita:
Unsuccesfully metadata update
MODIFY RDB$FIELDS falled
Action cancelled by trigger(1) to preserve data integrity
Cannot update index segment used by an Integrity Contraint Stament:
ALTER DOMAIN D_CEDULA TYPE VARCHAR(15)
No se porque elimine temporalmente los trigger pero me sigue dando el mismo error.....puedo cambiar la extension del dominio? o que.....
__________________
LK
Responder Con Cita
  #2  
Antiguo 06-01-2006
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Mira la slucion mas sana para evitarte tantos inconveninetes.
Solo extrae el scrip de l abse de datos y cambias el dominio y luego vuleves a ejecutar el scrip y listo
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #3  
Antiguo 06-01-2006
Luis Castillo Luis Castillo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 102
Poder: 21
Luis Castillo Va por buen camino
esta bien....

Cita:
Mira la slucion mas sana para evitarte tantos inconveninetes.
Solo extrae el scrip de l abse de datos y cambias el dominio y luego vuleves a ejecutar el scrip y listo
Pero no se borra la base de datos?....Ahora yo tengo el script (de cuando cree la base de datos). pero como hago para extraerlo de la base de datos...porque creo que es mejor.
__________________
LK
Responder Con Cita
  #4  
Antiguo 06-01-2006
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Puedes extraer el Metadatos con el IbExpert o con el IbManager por ejemplo, aunque la verdad esque yo creo que el problema esta en los datos que ya tienes en dichas tablas, aunque me confundo un poco porque lo que estas haciendo es pasar de varchar(10) a 15.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 06-01-2006
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Mira con ibexpert extraes el script en el menu herramientas/extraear metadata.
Luego cambias el nombre del dominio.
por seguridad no borres la base d edatos original solo cambiale el nombre luego verifica en el scrip para darle la ruta donde debe crear la base de datos y ejecutas el script.

Nota: SI te da un error creandola puede ser por que en elscript te estas refiriendo a un alias y no a la db eso lo cambias y asegurate de poner el servidor que eso tambien pde darte problemas.

Creo que si siguen esto spasos no te debe dar ningun problema.

A una cosa usa una extencion diferente a .gdb pra que te evites problemas futuros si tu servidor esta trabajando bajo windows.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #6  
Antiguo 06-01-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Yo usando IBExpert, he podido pasar dominios de tipo varchar de menos a más (varchar(10) a varchar(15), por ejemplo), aun con datos en las tablas, sin problemas. Lo que si no deja es que sea de más a menos.


Saludos...
Responder Con Cita
  #7  
Antiguo 07-01-2006
Luis Castillo Luis Castillo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 102
Poder: 21
Luis Castillo Va por buen camino
Intenté

Bueno, hice lo que me dijeron con IBExpert: extraje el script, cambie el nombre de la base de datos y alteré el dominio a varchar(15). Me crea todo pero vacio.....

Es normal?....entonces tengo que pasar manualmente los datos a la nueva base de datos?
__________________
LK
Responder Con Cita
  #8  
Antiguo 18-01-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por maeyanes
Lo que si no deja es que sea de más a menos.
Hola:

Y no hay forma de hacerlo, me he topado con este problema ya que necesito pasar de un varchar de 40 a 12 y no me ha dejado

Hasta Luego -
__________________
No todo es como parece ser...
Responder Con Cita
  #9  
Antiguo 18-01-2006
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por Luis Castillo
Es normal?
Bueno, es que quiza le idicaste al IbExpert que la BD no fuera transportable y por eso no te paso los datos.

Cita:
Empezado por lucasarts_18
Y no hay forma de hacerlo
Si los datos que hay en tu tabla y en ese campo no pasan de 12 caracteres no hay ningun problema, de lo contrario quiza te pase lo de Luis o quiza te corte todo a 12, tendrias que ensayar.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #10  
Antiguo 18-01-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por jhonny
Si los datos que hay en tu tabla y en ese campo no pasan de 12 caracteres no hay ningun problema, de lo contrario quiza te pase lo de Luis o quiza te corte todo a 12, tendrias que ensayar.
Es que no hay datos, he vaciados los registros y traté de hacerlo y no me dejó...

Hasta Luego -
__________________
No todo es como parece ser...
Responder Con Cita
  #11  
Antiguo 18-01-2006
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Si no tienes datos entonces prueba eliminando el campo y volviendolo a crear
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #12  
Antiguo 19-01-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Este es el error que me da...

Cita:
This operation is not defined for system tables.
unsuccessful metadata update.
New size specified for column NOMBRES must be at least 40 characters.
He hecho lo que propones, pero no es una forma que me agrade , a que se debe esto, alguien sabe ?.
Creo que en SQL Server no existe tal restricción..

Gracias...

Hasta Luego -
__________________
No todo es como parece ser...
Responder Con Cita
  #13  
Antiguo 19-01-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Es como se te dijo, un dominio o campo char/varchar en IB (y me imagino que en FB también), solo se puede redimencionar hacia arriba, no hacia abajo. Esto es así para proteger la integridad de los datos.

Lo único que te queda por hacer es borrar el campo, modificar el dominio y recrear de nuevo ese campo.



Saludos...
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


La franja horaria es GMT +2. Ahora son las 05:49:06.


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