Subject | Re: [firebird-support] FB 3 issues with String from FB 2.54 |
---|---|
Author | Kjell Rilbe |
Post date | 2016-05-25T06:15:06Z |
I have been trying to migrate from FB2.54 into FB 3 for a few weeks, and after hitting a string related error for some time i have got to the point where I do understand the issue, but I don't know how to solve it. The issue is pretty simple, the FB 2.54 DB contains a few characters that are not allowed into the FB 3 database, one example of a character causing an error during the restore was "Mcgarrity’s" (note the ’) as it appears to be outside the scope of the FB3 string domain, I have trying creating a new FB3 DB with many different charsets but none works. The other string causing issues is for example "΢ÈíÑźÚ", I have many records with this type of strings because the DB contains raw emails received by the system, stored into Varchars, and apparently some emails contain very weird characters, all were handled by FB2.54 but FB3 rejects the records. I have been able to isolate all recrods with issues using IBExpert's table data comparer function, as it created a script with all recrods from all tables from FB2.54 and when running the script against FB3.0 it singles out all the offending records.
Can anyone advise what options I have available to force FB3.0 to accept any stuff into string fields?
The first thing that comes to mind is that ' needs to be duplicated inside string literals, so if your method of upgrading is backing up to insert statements, it might be the case that the backup file is incorrectly formatted in this reagard. I.e. to insert Mcgarrity's you would insert this string literal: 'Mcgarrity''s' (note the duplicated ').
Apart from that I would recommend UTF-8 for "everything", i.e. old table charset, connection charset when performing backup, backup file format, connection charset for importing the backup file into FB3, charset for all char/varchar columns in new database. Not sure all those "places" are even applicable.
Are you using gbak for backup from 2.5 and restore into 3.0, or how are you actually trying to perform the upgrade?
Regards,
Kjell
--
Kjell Rilbe
Telefon: 08-761 06 55
Mobil: 0733-44 24 64
Marknadsinformation i Sverige AB
Ulvsundavägen 106C
168 67 Bromma
www.marknadsinformation.se
08-514 905 90