Subject Cannot transliterate character
Author Walter Ogston
Dear Friends,

Running Firebird 1.5.0.4231 on windows XP SP2.

My database was created thus:
SET SQL DIALECT 3;
CREATE DATABASE 'C:\DB\SCMain\SCMain.fdb'
USER '...' PASSWORD '...'
PAGE_SIZE 8192
DEFAULT CHARACTER SET ISO8859_1;

The table was created thus:
CREATE TABLE PARTITION_ELEMENTS(
DOMAIN_NUMBER INTEGER NOT NULL,
PARTITION_NUMBER INTEGER NOT NULL,
ELEMENT_NUMBER INTEGER NOT NULL,
DESCRIPTION VARCHAR(64) NOT NULL
);

I am pumping data from a Paradox table using this SQL

insert into Partition_Elements
( DOMAIN_NUMBER
, PARTITION_NUMBER
, ELEMENT_NUMBER
, DESCRIPTION
) values
( :domain_number
, :partition_number
, :element_number
, :description
)

I get the following error:

ISC ERROR CODE:335544321

ISC ERROR MESSAGE:
arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets

The offending string is "Nifty Café Enterprise - 4492", and if I go to the
source table and change the 'é' (e-acute, hex E9) to 'e' the problem goes
away.

My question is, how should I change the SQL or the database so that this
kind of error does not happen, and the hex E6 and similar characters are
accepted gracefully?

Walter.



/*
C. Walter Ogston
ogstoncw@...
*/