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 12-07-2010
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 21
apicito Va por buen camino
Como averiguar el charset que tiene definida una Base de Datos Firebird

Tengo una base de datos Firebird que ya contine datos y si la abro con IbExpert me da como carset por defecto "none". Yo creo que debe estar como ISO8859_1 ya que me reconoce las ñ, las acentuadas, etc cuando le marco este charset en el compnente de conexión, pero no estoy seguro.
Como podría averguar con seguridad cual es el charset que está utilizando?.
Responder Con Cita
  #2  
Antiguo 12-07-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
¿ Que Gestor utilizas para la base de datos ?. Él te lo debería decir.

Por ejemplo, si utilizas IBExpert, mira las columnas varchar en tus tablas y observa que charset tienen definido.

NOTA: Por cierto, puedes tener algunas columnas con un charset y otras con otro. Aunque a mi me gusta tener el mismo para toda la base de datos (iso8859_1).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 12-07-2010
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 21
apicito Va por buen camino
En el componente aparece en blanco. Pero he comprobado por otros medios que están en 8859-1. Yo buscaba alguna de forma de hacerle una consulta SQL de ese tipo a la base de datos.
Gracias.
Responder Con Cita
  #4  
Antiguo 13-07-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Lo puedes leer en las Tablas de Sistema (toda la información de la base de datos, sus tablas, campos, índices, ... se guarda en unas tablas especiales. En concreto, la información que buscas se encuentra en la tabla RDB$DATABASE).

select RDB$CHARACTER_SET_NAME
from RDB$DATABASE


Pero como te comentaba antes, este solo es el charset por defecto para cuando añadas un nuevo campo. Pero eso lo puedes cambiar en el nuevo campo y ponerle manualmente otro charset. De forma que puedes tener tablas con campos con distintos charsets, así que lo mejor es comprobar unos cuantos campos con el IB-Expert, FlameRobin, ... o tu gestor de bases de datos preferido.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).

Última edición por guillotmarc fecha: 13-07-2010 a las 11:05:54.
Responder Con Cita
  #5  
Antiguo 14-07-2010
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 21
apicito Va por buen camino
Gracias por la ayuda.
La consulta devuelve "NONE" pero parece ser que cuando no defines un charset específico, el que utiliza por defecto es el 8859-1.
Responder Con Cita
  #6  
Antiguo 14-07-2010
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 apicito Ver Mensaje
Gracias por la ayuda.
La consulta devuelve "NONE" pero parece ser que cuando no defines un charset específico, el que utiliza por defecto es el 8859-1.
Yo no lo tengo entendido así. NONE es un charset más como cualquier otro. Y el charset iso8859-1 no tiene nada de especial, no se utiliza por defecto.

Si la base de datos la tienes definida a NONE y los campos a iso8859-1, entonces probablemente tienes definido el charset iso8859-1 en los dominios que tienes creados para usar en los campos.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #7  
Antiguo 14-07-2010
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 21
apicito Va por buen camino
Pues entonces el "NONE" se parece mucho al ISO8859-1 porque no encontre diferencias, por lo menos en los caracteres españoles.
Responder Con Cita
  #8  
Antiguo 14-07-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Parece ser que el charset NONE lo que hace es aceptar todo lo que se le eche, en el mismo formato binario en que se le entrega, sin hacer ningún tratamiento ni validación.

http://www.firebirdsql.org/refdocs/l...rset-none.html
http://www.destructor.de/firebird/charsets.htm

Afortunadamente si solo manejas textos en castellano, que prácticamente solo utiliza los carácteres latinos básicos, parece ser que pocos inconvenientes vas a encontrar con este charset. Si acaso el único carácter que no tratará correctamente (al hacer ordenaciones, o al llamar a fuciones como UPPER(), ...) es la Ñ. Pero vamos, nada de lo que haya que preocuparse mucho.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #9  
Antiguo 15-07-2010
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 21
apicito Va por buen camino
Gracias por todo.
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
Base de datos enormes con firebird. ¿Cómo la estructuro? Angel Fernández Firebird e Interbase 39 28-02-2008 21:59:54
¿Packet Sniffer? Cómo saber quien tiene definida un IP Virtual... Neftali [Germán.Estévez] Redes 22 14-05-2007 19:30:21
Como conectarme a una base de datos hecha en firebird? JuanErasmo .NET 5 30-12-2006 18:13:03
Como conectar una Base de Datos en Firebird con TSQL Conection ?? Fer Gómez Firebird e Interbase 0 08-02-2006 20:52:37
como pasar una base de datos de fotografias en access a firebird Nelly Firebird e Interbase 1 06-10-2005 17:48:45


La franja horaria es GMT +2. Ahora son las 07:00:30.


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