![]() |
Default collate?
Tengo una base de datos en Firebird v1.5 con un collate y quiero cambiarse a toda la base de datos, alguien lo sabe como hacerlo de la forma más rápida posible, o de una herramienta que se lo automatice, pq lo de cambiarlo campo a campo como que va a ser una currada!!!!
No me importa hasta cambiar hasta de base de datos. También me he fijado que parece que no disponemos en Firebird para crear la base de datos con un collate ya por defecto, estoy en lo cierto? He visto en el foro y por Internet que esto que me pasa a mi también le ha pasado a alguien más, pero no veo que nadie lo resuelva, al menos de una forma elegante, que después nos lo comentará. Un saludo. |
Usa IB Expert personal (gratuito). Extraes los metadatos a un Script (si acaso también los datos), usa buscar y reemplazar el nombre del collate por el nuevo. Ejecuta el script para crear una base de datos nueva.
Listo, no debe llevar más de 30 segundos todo el proceso. ¿Te sirve? ;) Como bien dices no existe collate para la base de datos, sólo el juego de caracteres. Siempre es bueno definir dominios y allí especificas el cotejamiento, ahorra mucho tiempo ;) Espero no tengas problemas con los datos al tener un nuevo cotejamiento. Saludos |
Pues ya lo habia leido en un mensaje anterior del foro, pero hay un problema, al sacar el Script no sale el collate, así que no puedo reemplazar, y es que son más de 80 tablas a una media de 20 campos, como que se me cae un poco el mundo encima, por culpa del p***o collate, la cuestión es que es una aplicación que esta en BDE y funciona bien, pero estamos pensando en cambiar a algo más moderno.
Alguien tiene otra idea, pero de las de 30 segundos, ehh? Un saludo. |
con que herramienta saco el ddl??? descargue una llamada DataBase WorkBench (el trial), registra la bd y le da a la opción de extract ddl, ahí sale el collate none, solo lo cambia por el que necesita
|
Ahora reviviendo un poco este hilo podría proponer una opción un poco quirúrgica y con mucha probabilidad de hacer un daño, pero que con la idea de investigar un poco puede hacer lago como lo siguiente
donde 0 es el código de characterSet NONE, 21 es ISO8859_1 y 10 es el código de Collation ES_ES Nota: esta opción puede traer daños en la configuración de la estructura del sistema de la base de datos así que hay que hacerlo sobre una copia y después de realizado hacer tantas pruebas como sea posible para identificar posibles errores.... Nota 2: Si estoy proponiendo una barrabasada por favor comenten aquí antes que alguien haga un daño :D:D:D:D |
También parece ser que mySql tiene un comando para cambiar todos los collate de "takada" a la base de datos, y esta propuesta la implementación de un comando parecido para la última versión de Firebird, lo cual no estaría nada mal.
Un saludo. |
La franja horaria es GMT +2. Ahora son las 11:18:56. |
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