Subject Re: [firebird-support] Re: migrate from firebird 1.5 32bit to firebird 2.5 64bit on linux
Author Paul Vinkenoog
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