FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problema al Cambiar Charset y Collate en FireBird
Uso FireBird 1.52, Delphi6 ,IBX 6.08
Tengo un problema con algunas Tablas de la Base de Datos, por ejemplo: En la Tabla de Cliente tengo el Campo Clave(Integer) y Nombre(VarChar[80])cuando hacia una busqueda por NOMBRE por medio de mi Aplicacion al presionar la Ñ ó una Letra con aceptos (á,é,etc) no me hacia la busqueda por lo que investigue en internet y vi que tenia que cambiar las propiedades(Charset y Collate) del campo, uso dominios por lo que al dominio le cambie y quedo asi Charset=ISO8859_1 Y COLLATE=ES_ES con esto me iba a permitir hacer busquedas con caracteres con acentos ó con la Ñ pero ahora me marca este error: 'arithmetic exception,numeric overflow,or string truncation Cannot transliterate character between character sets' Ya hice busquedas con el IB-Expert y si me las hace correctamente, ya refresque los IBDataset y sigue el problema. Me gustaria saber que estará pasando ó que parámetros son los correctos???? Agradezco cualquier sugerencia. Última edición por AGAG4 fecha: 24-11-2004 a las 17:04:45. Razón: Corrección |
#2
|
|||
|
|||
Hola,
En el momento de realizar la conexion con la base de datos mediante el componente IBDatabase deberias pasarle tambien el parametro lc_ctype=ISO8859_1. Por lo demas no deberias de tener ningun problema, a mi me funciona correctamente. Saludos,
__________________
Saludos, Bitman |
#3
|
||||
|
||||
Ya lo tengo....
Gracias por su respuesta, pero ya tengo ese parámetro dentro del ibDatabase, no me va a quedar otra opcion más que de borrar las Tablas afectadas y volverlas a Crear.
Que tenga buen día. Saludos. Última edición por AGAG4 fecha: 25-11-2004 a las 16:06:58. Razón: Corrección |
#4
|
||||
|
||||
Cual?
Que Valores Correctos tienen que tomar CharSet y Collate en la creación de Campos Varchar para el idioma Español????
Esto tengo en mi Base de Datos, lo puedo ver en IbExpert en Options-Extract Metadata SET SQL DIALECT 3; /* CREATE DATABASE 'C:\Sistemas\DB.GDB' PAGE_SIZE 4096 DEFAULT CHARACTER SET ISO8859_1 */ En IbExpert en el menu Herramientas con la opción extraer metadata checa las primeras lines
Para evitar el Error que menciono arriba y hacer busquedas con caracteres con acentos ó con Ñ,ñ Como puedo cambiar el SET NAMES NONE; y DEFAULT CHARACTER SET NONE; sin tener que crear de nuevo la base de datos(correcta) y pasar los datos de la anterior???? Quiero Cambiarlo de la siguiente forma: Agradezco cualquier sugerencia. Última edición por AGAG4 fecha: 25-11-2004 a las 19:27:20. Razón: Corrección |
#5
|
|||
|
|||
Hola,
El parametro de conexion se lo pasas en el componente IBDatabase en la propiedad params: params->Add("lc_ctype=xxxxxxxxxx"); En cuanto a lo otro sera mejor que crees una base de datos nueva con las nuevas caracteristicas e importes los datos de la anterior. saludos,
__________________
Saludos, Bitman |
#6
|
||||
|
||||
Forma Correcta
Gracias de Antemano pero...
Cual es la Forma Correcta de Crear una Base de Datos????? Al momento de Crearla le dejo los siguientes parámetros???? SET NAMES ISO8859_1; DEFAULT CHARACTER SET ISO8859_1; Y en cuanto a las Tablas con Campos Varchar como se clasificará CHARSET Y COLLATE???? Agradezco cualquier sugerencia. |
#7
|
|||
|
|||
Hola,
Yo por costumbre suelo utilizar los dominios y en cada dominio vuelvo a declarar el charset. De todas formas supongo que si declaras como DEFAULT CHARACTER SET ISO8859_1, pues no tendria que hacer falta. Saludos,
__________________
Saludos, Bitman |
#8
|
||||
|
||||
Ok
Gracias Toni.....
Que tenga Buen Día. |
|
|
|