You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Ralf Assmann <ra...@innovations.de> on 2007/11/21 18:08:55 UTC

"encoding not supported"-error using iBATIS with db2 on z/os

Hi there,

we have the following problem using iBATIS on a local machine (win2000) 
connecting a database at a remote host (db2 on z/os). We are using a jcc 
type 4 driver of IBM.

While calling the ...queryForList(...)-methode of iBATIS - 
queryForObject(...) will bring the same result/error -, the following 
error occurs:

--- The error occurred in <xml-file>
--- The error occurred while applying a parameter map. 
--- Check the <statement>-InlineParameterMap. 
--- Check the statement (query failed). 
--- Cause: com.ibm.db2.jcc.b.DisconnectException: encoding not 
supported!!  DB2ConnectionCorrelator: GA6F0608.G460.C188390D477C

The iBATIS-error itself occurs in method executeQuery(...) of class 
SqlExecutor.class at line "ps.execute();".

Using the same driver while preparing an own prepared statement and 
executing it (plain jdbc without iBATIS), everythings works well and the 
result will be delivered. So it seems not to be a driver error ...

Does anyone has an idea what happens there?

Many thanks.


Ralf



Re: "encoding not supported"-error using iBATIS with db2 on z/os

Posted by Christopher Lamey <cl...@localmatters.com>.
You'd have to look at every character of every parameter to find the problem
character, so looking at a few in the debugger doesn't mean much.  Plus it
could be that they are valid UTF-8 characters, which would be fine in Java,
but the db isn't setup for that encoding.

Running the program on z/os will use the default encoding of the os, which
is most likely the same as the db encoding.

I don't know much about DB2 and even less about z/OS, but it looks like you
can use either UNICODE, ASCII, or EBCDIC.  This is specified on source and
target table creation:

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.
db2.ii.doc/admin/te0x0002.htm

So you need to figure out the encoding of your db.  My guess is that it's
either ASCII or EBCDIC.

Then you need to look at the encoding of the source data for your
parameters.  Is it from a flat file or from another db?

Once you know where the encoding disconnect is, you can then figure out what
to do about it.

Cheers,
Chris

On 11/21/07 12:15 PM, "Ralf Assmann" <ra...@innovations.de> wrote:

> 
> If I debug the code, the parameters to the sqlmap can be read, so in
> Java there seems not to be an encoding problem. If we are running our
> programm on z/os itself, the error also does not occur.
> 
> Ralf
> 
> 
> Christopher Lamey schrieb:
>> It looks like the parameters to the sqlmap are in an encoding that the db
>> doesn't support.  Most likely an extended character in one encoding that
>> isn't valid in another.
>> 
>> What encoding is the db using?
>> 
>> What encoding are the parameters coming in from?  Java will use UTF-8
>> internally, but if you're reading data from a file encoded with windows-1252
>> there could be a character causing trouble.
>> 
>> On 11/21/07 10:08 AM, "Ralf Assmann" <ra...@innovations.de> wrote:
>> 
>>   
>>> Hi there,
>>> 
>>> we have the following problem using iBATIS on a local machine (win2000)
>>> connecting a database at a remote host (db2 on z/os). We are using a jcc
>>> type 4 driver of IBM.
>>> 
>>> While calling the ...queryForList(...)-methode of iBATIS -
>>> queryForObject(...) will bring the same result/error -, the following
>>> error occurs:
>>> 
>>> --- The error occurred in <xml-file>
>>> --- The error occurred while applying a parameter map.
>>> --- Check the <statement>-InlineParameterMap.
>>> --- Check the statement (query failed).
>>> --- Cause: com.ibm.db2.jcc.b.DisconnectException: encoding not
>>> supported!!  DB2ConnectionCorrelator: GA6F0608.G460.C188390D477C
>>> 
>>> The iBATIS-error itself occurs in method executeQuery(...) of class
>>> SqlExecutor.class at line "ps.execute();".
>>> 
>>> Using the same driver while preparing an own prepared statement and
>>> executing it (plain jdbc without iBATIS), everythings works well and the
>>> result will be delivered. So it seems not to be a driver error ...
>>> 
>>> Does anyone has an idea what happens there?
>>> 
>>> Many thanks.
>>> 
>>> 
>>> Ralf
>>> 
>>> 
>>>     
>> 
>>   


Re: "encoding not supported"-error using iBATIS with db2 on z/os

Posted by Ralf Assmann <ra...@innovations.de>.
If I debug the code, the parameters to the sqlmap can be read, so in 
Java there seems not to be an encoding problem. If we are running our 
programm on z/os itself, the error also does not occur.

Ralf


Christopher Lamey schrieb:
> It looks like the parameters to the sqlmap are in an encoding that the db
> doesn't support.  Most likely an extended character in one encoding that
> isn't valid in another.
>
> What encoding is the db using?
>
> What encoding are the parameters coming in from?  Java will use UTF-8
> internally, but if you're reading data from a file encoded with windows-1252
> there could be a character causing trouble.
>
> On 11/21/07 10:08 AM, "Ralf Assmann" <ra...@innovations.de> wrote:
>
>   
>> Hi there,
>>
>> we have the following problem using iBATIS on a local machine (win2000)
>> connecting a database at a remote host (db2 on z/os). We are using a jcc
>> type 4 driver of IBM.
>>
>> While calling the ...queryForList(...)-methode of iBATIS -
>> queryForObject(...) will bring the same result/error -, the following
>> error occurs:
>>
>> --- The error occurred in <xml-file>
>> --- The error occurred while applying a parameter map.
>> --- Check the <statement>-InlineParameterMap.
>> --- Check the statement (query failed).
>> --- Cause: com.ibm.db2.jcc.b.DisconnectException: encoding not
>> supported!!  DB2ConnectionCorrelator: GA6F0608.G460.C188390D477C
>>
>> The iBATIS-error itself occurs in method executeQuery(...) of class
>> SqlExecutor.class at line "ps.execute();".
>>
>> Using the same driver while preparing an own prepared statement and
>> executing it (plain jdbc without iBATIS), everythings works well and the
>> result will be delivered. So it seems not to be a driver error ...
>>
>> Does anyone has an idea what happens there?
>>
>> Many thanks.
>>
>>
>> Ralf
>>
>>
>>     
>
>   

Re: "encoding not supported"-error using iBATIS with db2 on z/os

Posted by Christopher Lamey <cl...@localmatters.com>.
It looks like the parameters to the sqlmap are in an encoding that the db
doesn't support.  Most likely an extended character in one encoding that
isn't valid in another.

What encoding is the db using?

What encoding are the parameters coming in from?  Java will use UTF-8
internally, but if you're reading data from a file encoded with windows-1252
there could be a character causing trouble.

On 11/21/07 10:08 AM, "Ralf Assmann" <ra...@innovations.de> wrote:

> 
> Hi there,
> 
> we have the following problem using iBATIS on a local machine (win2000)
> connecting a database at a remote host (db2 on z/os). We are using a jcc
> type 4 driver of IBM.
> 
> While calling the ...queryForList(...)-methode of iBATIS -
> queryForObject(...) will bring the same result/error -, the following
> error occurs:
> 
> --- The error occurred in <xml-file>
> --- The error occurred while applying a parameter map.
> --- Check the <statement>-InlineParameterMap.
> --- Check the statement (query failed).
> --- Cause: com.ibm.db2.jcc.b.DisconnectException: encoding not
> supported!!  DB2ConnectionCorrelator: GA6F0608.G460.C188390D477C
> 
> The iBATIS-error itself occurs in method executeQuery(...) of class
> SqlExecutor.class at line "ps.execute();".
> 
> Using the same driver while preparing an own prepared statement and
> executing it (plain jdbc without iBATIS), everythings works well and the
> result will be delivered. So it seems not to be a driver error ...
> 
> Does anyone has an idea what happens there?
> 
> Many thanks.
> 
> 
> Ralf
> 
>