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 13-06-2010
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
Pasar Firebird de 2.0 a 2.5

Hola

Estoy probando de pasar de Firebird 2.0 a 2.5 una BD y me encuentro con el problema al restaurar que me da el error

Cita:
gbak:restoring stored procedure COMPROBA_ASSENTAMENT_TMP_S
gbak: ERROR:Malformed string
gbak:Invalid metadata detected. Use -FIX_FSS_METADATA option.
gbak:Exiting before completion due to errors
El problema esta en que el procedure devuelve un campo MISSATGE
que recoge una cadena con una palabra acentuada



Código SQL [-]
create procedure COMPROBA_ASSENTAMENT_TMP_S (
CODI_EMPRESA varchar(10),
EXERCICI integer,
N_ASENT integer,
IVA varchar(1))
returns (
TOT_BE varchar(1),
SERIE varchar(2),
COMPTE_CL_PR varchar(15),
MISSATGE varchar(100))
as
begin
TOT_BE='S';
MISSATGE=NULL;
serie=null;
compte_cl_pr =null;
select min(codi_iva) FROM assentaments_temp where CODI_EMPRESA=:codi_empresa AND EXERCICI=:EXERCICI AND N_ASENT=:n_asent AND codi_IVA IS NOT NULL INTO :codi_iva;
SELECT TIP_GRUP_ID FROM busca_tip_grup_iva_repercutit INTO :P_TIP_GRUP_R;
SELECT TIP_GRUP_ID FROM busca_tip_grup_iva_SUPORTAT INTO :P_TIP_GRUP_S;
SELECT TIP_GRUP_ID FROM busca_tip_grup_clients INTO :P_TIP_GRUP_cl;
SELECT TIP_GRUP_ID FROM busca_tip_grup_proveidors INTO :P_TIP_GRUP_pr;
SELECT TIP_GRUP_ID FROM busca_tip_grup_retencio_clients INTO :P_TIP_GRUP_re;
SELECT TIP_GRUP_ID FROM busca_tip_grup_retencio_provei INTO :P_TIP_GRUP_res;
SELECT SERIE_SUPORTADA,TIPUS FROM tip_iva_comptable WHERE CODI_EMPRESA=:codi_empresa AND CODI=:CODI_IVA
INTO :SERIE,:P_TIP_IVA;
select count(*) from assentaments_temp a join comptes ch ON A.CODI_EMPRESA=Ch.CODI_EMPRESA AND A.EXERCICI=Ch.EXERCICI AND A.haber=Ch.CODI
join select_tip_grups(:CODI_EMPRESA,:EXERCICI,:P_TIP_GRUP_res) stg on (stg.codi_grup=ch.grup_3 or stg.codi_grup=ch.grup_4)
WHERE A.CODI_EMPRESA=:CODI_EMPRESA AND A.EXERCICI=:EXERCICI AND A.N_ASENT=:N_ASENT into :num1;
if (:num1>1) then TOT_BE='N';
if (:TOT_BE='N') then
MISSATGE='Assentament amb mes d''un apunt de Retenció';







La base de datos original 2.0 tiene charset ISO8859_1
Utilizo para restaurar ibexpert v 2006 i pido crear nueva BD


Me crea la Bd con los dominios i tablas,generadores,udf
pero sin ningun procedure

Luego yo voy script executive i ejecuto el procedure que falla en el restore
COMPROBA_ASSENTAMENT_TMP_S i me lo traga



Supongo que el problema es el acento de Retenció
Es un problema del Ibexpert ?
Debo hacerlo a traves del gback ?

Saludos

Panta

Última edición por marcoszorrilla fecha: 15-10-2010 a las 15:07:17.
Responder Con Cita
  #2  
Antiguo 13-06-2010
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En esta página, la gente de Firebird informa de esta "posible incompatibilidad" entre FB 2 y FB 2.5

Aparentemente, lo que tienes que hacer es restaurar tu base con los switches -fix_fss_data and -fix_fss_metadata

Cita:
Effects of Unicode Metadata

If you have not previously updated text objects within the metadata of your databases to be in character set UTF8, restoring a database until V.2.5 will fail with “malformed string” errors. To resolve this it is necessary to pay attention to the files in the /misc/upgrade/metadata directory of your installation and to use the new -fix_fss_data and -fix_fss_metadata switches in the gbak command line.
Responder Con Cita
  #3  
Antiguo 13-06-2010
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
Gracias

Al final he logrado hacer el restore desde la linia comandos del dos

Pongo el codigo para si alguien tiene el problema


Cita:
gbak -c -v -t -rep fitxer.fbk fitxer.ib -user SYSDBA -password masterkey
-FIX_FSS_D ISO8859_1 -FIX_FSS_M ISO8859_1

Panta
Responder Con Cita
  #4  
Antiguo 13-06-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
Sí, yo me encontré el mismo problema y ese switch en el comando de backup lo solventa.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #5  
Antiguo 15-10-2010
ricardouzcategu ricardouzcategu is offline
Registrado
 
Registrado: abr 2010
Posts: 3
Poder: 0
ricardouzcategu Va por buen camino
Smile Para que sirve el CHARSET?

Cita:
Empezado por guillotmarc Ver Mensaje
Sí, yo me encontré el mismo problema y ese switch en el comando de backup lo solventa.
Hola.. Yo tambien solvente el inconveniente con este comando, sin embargo, aunque es vergonzoso para mi decirlo, nunca he puesto interes en saber para que sirven los charset y pues, aprobecho esta oportunidad que es obligatorio ahora "fixear" por asi decirlo la estructura de la base de datos en cuanto a los charset... les pregunto a ustedes amigos foristas, alguien me puede dar una explicacion sumamente sencilla y util de para que y porque es importante tomar en cuenta esta caracteristica CHARSET?... con que se come y si me va a hacer bien la digestion?. jajaj.

Saludos y gracias de antemano.
Responder Con Cita
  #6  
Antiguo 15-10-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 ricardouzcategu Ver Mensaje
Hola.. Yo tambien solvente el inconveniente con este comando, sin embargo, aunque es vergonzoso para mi decirlo, nunca he puesto interes en saber para que sirven los charset y pues, aprobecho esta oportunidad que es obligatorio ahora "fixear" por asi decirlo la estructura de la base de datos en cuanto a los charset... les pregunto a ustedes amigos foristas, alguien me puede dar una explicacion sumamente sencilla y util de para que y porque es importante tomar en cuenta esta caracteristica CHARSET?... con que se come y si me va a hacer bien la digestion?. jajaj.

Saludos y gracias de antemano.
Hola.

El charset se utiliza para especificar en que idioma está el texto que guardas en la base de datos.

Esto tiene que ver sobre que palabras se aceptan como válidas en esa lengua (ese charset) y cuales no se aceptan (dando un error de transliterate) porqué estás intentando guardar algo que no es correcto en esa lengua. Por ejemplo tiene carácteres extraños que no se pueden presentar, como cuando quieres guardar una imagen en un campo de texto.

Además el charset es muy importante para los operadores de orden y búsqueda. Un determinado charset te puede decidir que González es igual a gonzalez, sin diferenciar entre mayúsculas y acentos, por lo que te simplifica las búsquedas. Además se ocupan de gestionar el orden de las palabras en tu lengua, por ejemplo, la letra ñ, por orden ascii, va detras de todas las demás letras, así que en orden alfabético ascii, ñoño va detrás de todas las palabras con Z. Pero en cambio, con el charset adecuado para castellano, Firebird ordenará correctamente, colocando ñoño justo detrás de todas las palabras con N.

¿ Se entiende, más o menos ?.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #7  
Antiguo 15-10-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por guillotmarc Ver Mensaje
[..] ¿ Se entiende, más o menos ? [..]
Mejor explicado es imposible
Responder Con Cita
  #8  
Antiguo 15-10-2010
ricardouzcategu ricardouzcategu is offline
Registrado
 
Registrado: abr 2010
Posts: 3
Poder: 0
ricardouzcategu Va por buen camino
Mejor imposible!!!

Muchas gracias..


Ahora otra preguntica... Cual usan ustedes?? para el castellano cual es el ideal ??? que tenga acento, ñ, apostrofes, etc..

Y la otra pregunta es, tiene alguna importancia el SO que se use y el idiona de dicho SO ?. Es decir, Afecta en algo en idioma del SO ?..

Gracias nuevamente!
Responder Con Cita
  #9  
Antiguo 15-10-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ricardouzcategu Ver Mensaje
Ahora otra preguntica... Cual usan ustedes?? para el castellano cual es el ideal ??? que tenga acento, ñ, apostrofes, etc..
En la base de datos yo nunca elijo ninguno, lo que hago es usarlo en los campos que creo que me va a hacer falta, por ejemplo, para guardar nombres, direcciones, etc. No sé si es lo ideal, aunque es lo que hago.

Código SQL [-]
 
set sql dialect 3;  
set names none; 
create database "rankings.fdb" PAGE_SIZE 8192 user "SYSDBA" password "masterkey"; 
/**/ 
create domain domCodigoNoNulo integer not null; 
create domain domNombre varchar(64) character set ISO8859_1;  /* fb < 2.1 */ 
/*create domain domNombre varchar(64) character set UTF8 collate ES_ES_CI_AI default '';*/  /* fb >= 2.1 */ 
create domain domImagen blob sub_type 0; 
create domain domFecha date; 
create domain domHora time; 
create domain domFechaHora timestamp; 
...

Cita:
Empezado por ricardouzcategu
Y la otra pregunta es, tiene alguna importancia el SO que se use y el idiona de dicho SO ?. Es decir, Afecta en algo en idioma del SO ?..
Gracias nuevamente!
No lo sé, siempre he usado el español.
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
Problemas al pasar de version 2 a 1.5 con firebird oscjae Firebird e Interbase 3 11-10-2007 09:52:01
Pasar de Firebird 1.5 a 2.0 oscjae Firebird e Interbase 0 15-06-2007 16:32:50
Pasar Tabla de Paradox a Firebird JoanKa Firebird e Interbase 4 12-02-2005 02:57:54
Pasar datos de DBFs a Firebird Iceman Firebird e Interbase 3 11-06-2004 08:11:18
Pasar de Interbase a Firebird fidias Firebird e Interbase 1 10-09-2003 19:07:05


La franja horaria es GMT +2. Ahora son las 18:29:39.


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