Subject | Re: migrate from firebird 1.5 32bit to firebird 2.5 64bit on linux |
---|---|
Author | crizz11 |
Post date | 2011-01-14T03:47:59Z |
thanks very much for the code to get that info, it returned unicode_fss for all 3 so i tried
gbak -user sysdba -password pass -c -fix_fss_metadata unicode_fss /opt/firebird/fbbackup/stock.fbk /tmp/stock.fdb
and it did the same as NONE, cut off the -fix from the command
gbak -user sysdba -password pass -c -fix_fss_metadata unicode_fss /opt/firebird/fbbackup/stock.fbk /tmp/stock.fdb
and it did the same as NONE, cut off the -fix from the command
--- In firebird-support@yahoogroups.com, Paul Vinkenoog <paul@...> wrote:
>
> Hi,
>
> > ok thanks for that syntax help. I have checked and i'm pretty sure our charset is set to NONE as this is what is indicated in my connection to the database in IBexpert.
>
> That's the connection character set. It has little or nothing to do with the character set of your metadata text columns.
>
> > i tried your example command replacing -fix_fss_metadata UTF8 with -fix_fss_metadata NONE but looks like supplying NONE cuts the whole -fix switch out of the command
>
> It sure does. As the Readme says:
>
> -FIX_FSS_METADATA <charset>: This option is to fix wrong stored metadata, as replacement for the
> metadata script. Metadata read from backup is considered to be in <charset> encoding instead of
> UNICODE_FSS, and is transliterated to be stored on the restored database.
> NONE charset has no effect for this option.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> The thing is that you have to find out which charset is/was REALLY used for your database metadata, and use that as the argument of the -fix_fss_metadata parameter.
>
> Have a look at the system tables; maybe IBExpert will show you what the character set of the text columns is.
>
> Or run this query - in your Firebird 1.5 database, via a Firebird 1.5 server:
>
> select c.rdb$character_set_name
> from rdb$fields f
> join rdb$character_sets c
> on f.rdb$character_set_id = c.rdb$character_set_id
> where f.rdb$field_name in ('RDB$TRIGGER_NAME', 'RDB$TYPE_NAME', 'RDB$USER')
> and f.rdb$system_flag = 1
>
> Chances are that all three have the same character set. Use the name of that set with -fix_fss_metadata.
>
>
> Cheers,
> Paul Vinkenoog
>