Subject Re: Cannot transliterate character...
Author lackonagy
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
wrote:
> At 08:10 AM 26/04/2004 +0000, you wrote:
> >I create a database using a script like:
> >"SET SQL DIALECT 3;
> > SET NAMES ISO8859_1;
> > CREATE DATABASE 'C:\MyDB'
> > USER 'SYSDBA' PASSWORD 'masterkey'
> > PAGE_SIZE 8192
> > DEFAULT CHARACTER SET ISO8859_1;
> > ....
> > and so on
> > ..."
> >
> >There is a stored procedure which suspends a string (varchar(25))
> >with the german character "ß" (Alt + 0223).
> >When executed, the procedure fails with an error message:
> >"Arithmetic overflow or division by zero has occured.
> > arithmetic exception, numeric overflow, or string truncation.
> > Cannot transliterate character between character sets."
> >However, after recompiling the procedure it works fine.
> >
> >Can anyone help me with this one?
>
>
> Did you declare the output variable as character set ISO8859_1?
> If the recompiled procedure works fine, what is the current problem?
>
> /heLen

If the default character set is ISO8859_1, should I redeclare the
charset of the output parameter?

The current problem is that I don't want to recompile all the
procedures in a newly created database. Besides, this charset
problem - in the procedure I mentioned - might not be the only one in
the whole DB. It also might affect triggers, fields, and who knows
what else.
Anyway, my opinion is that a newly created database shouldn't need
recompiling.

Regards,
Laszlo Nagy