Answer the question
In order to leave comments, you need to log in
Translation of the FireBird 2.5 base to Unicode. Share experience and links
Good time of the day.
The task is to convert the FireBird 2.5 base to Unicode (a lot of storages). (Delphi XE2 client + IBDAC, IBExpress).
Advise what to read, share links in order to make this transformation less painful.
Perhaps someone from those present has already translated the database into Unicode. What pitfalls can be encountered.
Any links are welcome (English, German and Russian).
Thank you.
Answer the question
In order to leave comments, you need to log in
Discussion of Approaches
ibexpert.net/ibe/index.php?n=Doc.ConvertYourFirebirdApplicationsToUnicode
code.google.com/p/fbclone/
What's so difficult about it? The easiest way is to upload the database to a script, re-save it in UTF8, edit the script with the noxious encoding and upload it back.
Or do you need to convert the data itself in text fields and blobs?
PS From version 1.5, we initially converted everything to Unicode and there were no problems with the sequential transition :)
What are the sizes of the blobs? If you upload them to a text file and convert it, wouldn't it be easier? IBE uploads them to *.lob - but it also uploads binary blobs too, so you need to be very careful when converting.
If there are no binary blobs, then you can only do with converting scripts and editing them (keep in mind that varchar (30000) will no longer work).
If you also have binary blobs, then you will have to do at least 2 passes - first the metadata themselves, then the data. But this is a delicate operation, especially in the presence of triggers and referential integrity checks - here you need to write an application that intelligently re-uploads everything.
We transferred the database from 1251 to UTF8, using the IBExpert - Blocks tool. Blobs were uploaded to *.lob, all data was uploaded to *.sql, then inserted into a clean database already in UTF8. Transferred data + generators. Found stones: the database must be in exclusive access, the limit on the number of characters is 8000, we make backups using gbak - it does not know how to change (or has not yet found) the database pagesize during the restore, and if a smaller pagesize then some data simply does not fit and the error "This operation is not defined for system tables.Unsuccessful metadata update.
Key size exceeds implementation restriction for index "index_name""
is thrown
out
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question