Subject | Re: [firebird-support] Stored proc charset problem after DB backup/restore |
---|---|
Author | Zd |
Post date | 2009-05-13T08:19:37Z |
Thank you Helen,
I'll try your suggestion, and report back if something goes wrong.
Zd
I'll try your suggestion, and report back if something goes wrong.
Zd
----- Original Message -----
From: Helen Borrie
To: firebird-support@yahoogroups.com
Sent: Saturday, May 09, 2009 12:02 AM
Subject: Re: [firebird-support] Stored proc charset problem after DB backup/restore
At 09:24 PM 7/05/2009, Zd wrote:
>Dear group,
>
>I have a database with default charset set to ISO8859_2.
>
>Everything is fine till I backup and restore the database.
>After the restore, upon trying to load the code of some of the stored procedures that loaded normally before, I get the following error:
>
>---------------------------
>Unhandled Error in FlameRobin
>---------------------------
>*** IBPP::SQLException ***
>Context: Statement::Fetch
>Message: isc_dsql_fetch failed.
>
>SQL Message : -314
>Cannot transliterate character between character sets
>
>Engine Code : 335544565
>Engine Message :
>Cannot transliterate character between character sets
>
>Why does this happen?
It looks as if this is the first time you have attempted a restore under Firebird 2.1.x after upgrading from 2.0.x or lower.
>And why does it happen only after a restore?
In v.2.1.x, metadata source (including comments, etc.) in 2.1.x is stored in Unicode. PSQL source is stored in blobs, which are restored without parsing the contents.
As soon as you try to access the source (as you do with CREATE OR ALTER or ALTER) the 2.1.x engine encounters your original text, which it cannot transliterate to unicode because it has encountered text that is not in ASCII encoding; but it doesn't know what the original character set was.
There are scripts in your installation to repair the metadata of an upgraded database **prior to** your first backup and restore. Read the release notes P. 104 (114 by Acrobat numbering) and follow the instructions exactly.
./heLen
[Non-text portions of this message have been removed]