Subject Interclient and unicode
Author Herbert.Augustiny@sptroth.com
Hi All

I am having a strange problem here.

I have a query which looks like this:

select Stations.Station_Name, Processes.ID, Processes.Trace_ID,
Processes.Job_ID,
Events.Event_Time, CEventType.Constant_Short_Name,
Result_Codes.SPT_ID || Result_Codes.Description As "Result Code"
from Processes
Join Stations on Processes.Processing_Station_ID = Stations.ID
Join Events on Processes.ID = Events.Process_ID
Join Constants CEventType on Events.Event_Type_ID = CEventType.ID
Left Join Event_Results on Event_Results.Event_ID = Events.ID
Join Result_Codes on Event_Results.Result_Code_ID = Result_Codes.ID
where Processes.Trace_ID in ("+getIDs(traces)+") order by
Events.Event_Time

When I run this query, I get the following error:

interbase.interclient.CharacterEncodingException: [interclient] Character
encoding error: A character conversion exception occurred while trying to
decode a String encoding from server.
The message of the CharConversionException is "".
See API reference for exception
interbase.interclient.CharacterEncodingException
at
interbase.interclient.RecvMessage.readLDChars(RecvMessage.java:383)
at
interbase.interclient.ResultSet.getRowData_varchar(ResultSet.java:483)
at interbase.interclient.ResultSet.getString(ResultSet.java:687)
at com.borland.dx.sql.dataset.JdbcProvider.a(Unknown Source)
at com.borland.dx.sql.dataset.JdbcProvider.b(Unknown Source)
at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown
Source)
at com.borland.dx.dataset.StorageDataSet.refresh(Unknown Source)
at com.borland.dx.sql.dataset.QueryDataSet.refresh(Unknown Source)
at jtc.TraceFrame.trace(TraceFrame.java:108)

If I replace the concatenation operator '||' with coma ',' the query works.

The character set used in the database and for the driver connection is set
to unicode.

Any ideas?

Regards,

Herbert