Subject line generating transliteration exception in FB stored proc code (unicode)
Author feddkraft
Hallo,

i've got an exception in stored procedure calling like this:

org.firebirdsql.jdbc.FBSQLException: GDS Exception. arithmetic
exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
at org.firebirdsql.jdbc.FBCallableStatement.execute
(FBCallableStatement.java:114)
.........{my servlet classes}...........
at org.firebirdsql.gds.GDSException: arithmetic exception, numeric
overflow, or string truncation
Cannot transliterate character between character sets
at org.firebirdsql.jca.FBManagedConnection.executeStatement
(FBManagedConnection.java:797)
...................

I want to know where was an illegal transliteration, I mean line of
code in Firebird (procedures are rather complicate, call one
another). Is it possible to find it out?

the SP was called like this:

Connection c = MyClass.getConnection();
try
{
String q;
q = "{call \"setvalue\"(?,?,?)}";
CallableStatement s = c.prepareCall(q);
s.setLong(1, 55);
s.setString(2, contentstr);
s.setLong(3, 90);

s.execute();

s.close();
c.commit();
c.close();
.........

the connection was made like this:

ds = new org.firebirdsql.jdbc.FBWrappingDataSource();
ds.setDatabase(database);
ds.setUserName(dbuser);
ds.setPassword(dbpwd);
ds.setIdleTimeoutMinutes(5);
ds.setPooling(true);
ds.setMinSize(minpoolsize);
ds.setMaxSize(maxpoolsize);
ds.setLoginTimeout(10);
//ds.sete

org.firebirdsql.jca.FBConnectionRequestInfo cri =
ds.getConnectionRequestInfo();
cri.setProperty
(org.firebirdsql.gds.ISCConstants.isc_dpb_lc_ctype, dbenc);
cri.setProperty
(org.firebirdsql.gds.ISCConstants.isc_dpb_sql_dialect, 3);
//cri.setProperty(org.firebirdsql.gds.ISCConstants.);
ds.setConnectionRequestInfo(cri);
cri=null;

(i have found this way to pass encoding to the datastore with builtin
pooling using FBConnectionRequestInfo here in this group.)

dbenc = "UNICODE_FSS". but it eats Engish well and generate exception
in Russian text :(

the database was made with default encoding UNICODE_FSS.

Stored procedures varchar arguments were all defined as UNICODE_FSS,
but IBExpert doesnt show this, I guess it omits UNICODE_FSS
when the default charset is Unicode.

Thankyou and Happy New Year.