Subject Re: [firebird-support] How to convert big FIREBIRD DB to one charset (win1251) to UTF8 ?
Author Alexandre Benson Smith
Em 30/5/2014 04:26, loris.luise@... [firebird-support] escreveu:
I need your help and/or suggestions to solve a (maybe uncommon) task.

I searched a lot on the web and  I had some success using a tool called fbclone but
this is definitely not a solution (due to extreme slowness of the conversion, many days,
something must be wrong with this software)

I have a large Firebird 2.5 DB (a couple of tables have few millions records) to convert from WIN1251 charset to UTF8 charset.

Is there a way to do efficiently this kind of conversion? (preferably not using a intermediate text sql dump, that would not applicable because the size of the DB).

I'm using Firebird on a linux machine, and I really like to do the job using a bash script,
but I can fallback also using a remote Windows pc.

Thanks for any suggestions.

Best regards.


I don't know if there is a faster way... But this one would be a secure and very easy way:

1.) Extract metadata from the source database (isql -x)
2.) Change the definition of the domains and/or fields to the desired charset
3.) Create a new database with the corrected script
4.) Use IBDatapump (or any other datapump tool) to transfer the data

I don't know the size of your database, but I doubt it will take days to transfer it.

To speed up the process, turn forced writes off, try to keep the source/destination database on diferent disks and use local/embedded connection

see you !