Subject Re: [firebird-support] problem converting database to unicode_fss
Author David Johnson
What is stored as raw bytes (charset none)? My workaround for known
issues with unicode in FB1.5.x has been to use charset none in the
table, and simply dump the UTF-8 string into the untyped column.

FB2 fixes the known issues with multi byte character sets.

Java works natively with unicode, but it also supports "natively" almost
any other character set you might happen to be using such as CP-500,
ASCII, ISO-8859-x, etcetera. You only have to tell it what the
character set is when you create the String from the byte array.

For what it is worth (my opinion and 50 cents will get you a really bad
cup of coffee), I would be suspicious of any circular dependencies.

The approach I would take to this problem is to build the tables in FB2,
without RI dependencies, use a Java based data pump to read the data and
transform character sets, then finally apply the DDL for the RI
dependencies.

I can't give you code for this, but I can say that it takes less than 2
days to put together a transforming data pump from scratch in Java, and
less than a week to make it fast and reliable enough to migrate a couple
of terabytes in approximately 1 hour. Since your transformation appears
to be simply character sets, it should be simpler and faster than mine
was.

On Fri, 2005-12-02 at 02:00 +0000, triathlon98bis wrote:
> For consistency (and to avoid transliteration errors) I need to
> convert a few databases from charset none to unicode_fss.
> I tried using some data pumping tools to do this (specifically ibpump
> and fbcopy) but both give me errors (ibpump has problems with circular
> dependencies in the data structure (even when told to disragard these
> constraints), fbcopy give an error message "XSDA:SetValue incompatible
> types".
>
> What can I do to fix this? Is there a possible manipulation on the
> tables? Another tool which can help me?
>
> Thanks for the help,
> Joachim