Subject | Re: [firebird-support] How to convert big FIREBIRD DB to one charset (win1251) to UTF8 ? |
---|---|
Author | Alexandre Benson Smith |
Post date | 2014-06-03T15:13:11Z |
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 butthis 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 !