ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Conversion problem in database select in WMB6

Post new topic  Reply to topic
 Conversion problem in database select in WMB6 « View previous topic :: View next topic » 
Author Message
Magnus_A
PostPosted: Tue Jul 11, 2006 4:48 am    Post subject: Conversion problem in database select in WMB6 Reply with quote

Newbie

Joined: 04 Jul 2005
Posts: 3
Location: Lund - Sweden

Hi!

I got a problem with conversion when issuing a select statement in my broker.

The broker environment looks like this:

- WMB 6.0.0.1
- WMQ 6.0.0
- DB2 8.2

Running on Win 2003 Server Enterprise Edition

Both WMQ and the DB uses CCSID 1252. A column in the DB contains the value ö (HEX d6). When the broker gets the resultset from the DB it tries to convert it and doesn't succeed. For some reason the broker tries to convert it using CCSID 1208, I do not know where this value is coming from, could it be from the user that runs the broker service?

I'm also attaching some parts of errorlogs and traces that might help in understanding my problem.


ExceptionList:
(
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S600_P\src\DataFlowEngine\ImbComputeNode.cpp'
(0x03000000):Line = 464
(0x03000000):Function = 'ImbComputeNode::evaluate'
(0x03000000):Type = 'ComIbmComputeNode'
(0x03000000):Name = 'Test#FCMComposite_1_3'
(0x03000000):Label = 'Test.Compute'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x03000000):Text = 'Caught exception and rethrowing'
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S600_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp'
(0x03000000):Line = 589
(0x03000000):Function = 'SqlStatementGroup::execute'
(0x03000000):Type = 'ComIbmComputeNode'
(0x03000000):Name = 'Test#FCMComposite_1_3'
(0x03000000):Label = 'Test.Compute'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2488
(0x03000000):Text = 'Error detected, rethrowing'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '.Test_Compute.Main'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '10.3'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'SET OutputRoot.XML.OUTPUTDATA.SFA0DUAL[ ] = DEFAULTPASSTHRU('SELECT PIN, NUMMER,VLO,INH, INHA, INHP, INHP FROM DUAL WHERE SPIN = ?', SPIN);'
)
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S600_P\src\CommonServices\ImbConverter.cpp'
(0x03000000):Line = 516
(0x03000000):Function = 'ImbConverterCPP::internalToUnicode'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2135
(0x03000000):Text = 'Unconvertable character'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'd6'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '414c564553204dd6424c455220414b544945424f4c414720202020202020202020202020'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1208'
)
)
)
)
);


2006-07-11 14:31:13.227107 3608 UserTrace BIP2537I: Node 'Test.Compute': Executing statement ''SET OutputRoot.XML.OUTPUTDATA.SFA0DUAL[ ] = DEFAULTPASSTHRU('SELECT PIN, NUMMER,VLO,INH, INHA, INHP, INHP FROM DUAL WHERE SPIN = ?', SPIN);'' at ('.Test_Compute.Main', '10.3').

2006-07-11 14:31:13.227128 3608 UserTrace BIP2538I: Node 'Test.Compute': Evaluating expression ''DEFAULTPASSTHRU('SELECT PIN, NUMMER,VLO,INH, INHA, INHP, INHP FROM DUAL WHERE SPIN = ?', SPIN)'' at ('.Test_Compute.Main', '10.60').

2006-07-11 14:31:15.391616 3608 UserTrace BIP2539I: Node 'Test.Compute': Evaluating expression ''SPIN'' at ('.Test_Compute.Main', '10.235'). This resolved to ''SPIN''. The result was '''5561335984'''.

2006-07-11 14:31:15.391648 3608 UserTrace BIP2544I: Node 'Test.Compute': Executing database SQL statement ''SELECT PIN, NUMMER,VLO,INH, INHA, INHP, INHP FROM DUAL WHERE SPIN = ?'' derived from ('.Test_Compute.Main', '10.60'); expressions ''SPIN''; resulting parameter values '''5561335984'''.

2006-07-11 14:31:15.398173 3608 UserTrace BIP2562I: Node 'Test.Compute': Assigning a list to ''OutputRoot.XML.OUTPUTDATA.SFA0DUAL[]''.

2006-07-11 14:31:15.398595 3608 UserTrace BIP2231E: Error detected whilst processing a message in node 'Test.MQInput'.
The message broker detected an error whilst processing a message in node 'Test.MQInput'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further processing.
See the following messages for details of the error.

2006-07-11 14:31:15.398607 3608 RecoverableException BIP2230E: Error detected whilst processing a message in node 'Test.Compute'.
The message broker detected an error whilst processing a message in node 'Test.Compute'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.

2006-07-11 14:31:15.398616 3608 RecoverableException BIP2488E: ('.Test_Compute.Main', '10.3') Error detected whilst executing the SQL statement ''SET OutputRoot.XML.OUTPUTDATA.SFA0DUAL[ ] = DEFAULTPASSTHRU('SELECT PIN, NUMMER,VLO,INH, INHA, INHP, INHP FROM DUAL WHERE SPIN = ?', SPIN);''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error.

2006-07-11 14:31:15.398631 3608 RecoverableException BIP2135E: Source character ''d6'' in field ''414c564553204dd6424c455220414b544945424f4c414720202020202020202020202020'' cannot be converted to unicode from codepage '1208'.
The source character is an invalid code point within the given codepage.
Correct the application that generated the message.



If there's anyone who has the slightest idea what my problem is please say so, I would really appreciate it.



... Magnus_A
_________________
To be able to cut corners with a full throttle you have to believe that you're riding a one-way road.
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Tue Jul 11, 2006 5:18 am    Post subject: Re: Conversion problem in database select in WMB6 Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi Magnus_A,
Magnus_A wrote:
I do not know where this value is coming from, could it be from the user that runs the broker service?

Check the Input message properties folder...it should be coming from there.

You need to do a cast to the encoding which understands these characters...search the forun or google, you should find some sample.

Regards.
Back to top
View user's profile Send private message Send e-mail
Magnus_A
PostPosted: Tue Jul 11, 2006 5:35 am    Post subject: Reply with quote

Newbie

Joined: 04 Jul 2005
Posts: 3
Location: Lund - Sweden

Sorry but I should have put my input data in the first post also.

This is how the inputdata looks:

Root:

(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-07-11 12:31:13.230'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'MAGNUS.TEST.IN'
(0x03000000):Transactional = FALSE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d51204e4953303031202020202020bf91b34420002605'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'NIS001 '
(0x03000000):UserIdentifier = 'E139_s_nis '
(0x03000000):AccountingToken = X'16010515000000d5cb5c581ae87b5607e53b2b00b80c0000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = ':\IBM\RFH Util 4\rfhutil.exe'
(0x03000000):PutDate = DATE '2006-07-11'
(0x03000000):PutTime = GMTTIME '12:31:13.230'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000000):BLOB = (
(0x03000000):UnknownParserName = ''
(0x03000000):BLOB = X'4c69746520696e64617461206b6f6d6d65722068e472'
)
);


As you see the CCSID is not 1208.

The mb flow and code and the database is a part of a migration project from a WMQI 2.1 environment that I am involved in. In the old environment this is working fine with the same test data as above. I.e. the CCSID in Properties deosn't seem to affect conversion of the database query in that environment nor in the new one.


... Magnus_A
_________________
To be able to cut corners with a full throttle you have to believe that you're riding a one-way road.
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Tue Jul 11, 2006 6:01 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi Magnus_A,
Magnus_A wrote:
As you see the CCSID is not 1208.

Use the debugger and once u come to the Compute where u are doing this select, check the properties folder...Seeing is believing

Magnus_A wrote:
The mb flow and code and the database is a part of a migration project from a WMQI 2.1 environment that I am involved in. In the old environment this is working fine with the same test data as above. I.e. the CCSID in Properties deosn't seem to affect conversion of the database query in that environment nor in the new one.

This makes me feel more confidant that the above is the error...why don't you prove me wrong, then we'll think of other ideas thx.

Regards.
Back to top
View user's profile Send private message Send e-mail
Magnus_A
PostPosted: Tue Jul 11, 2006 10:47 pm    Post subject: Reply with quote

Newbie

Joined: 04 Jul 2005
Posts: 3
Location: Lund - Sweden

Hi again!

Nope ... when I looked at the Properties folder in the debugger inside the compute node that is executing the select and it has the same values as my trace above.

Don't know where to go from here, I've been struggeling with this for some time now.

Any more ideas?


... Magnus_A
_________________
To be able to cut corners with a full throttle you have to believe that you're riding a one-way road.
Back to top
View user's profile Send private message
jonasb
PostPosted: Wed Dec 20, 2006 7:43 am    Post subject: I have the exact same problem Reply with quote

Apprentice

Joined: 20 Dec 2006
Posts: 49
Location: Sweden

Hi,

Magnus_A or anyone else, did you solve this problem? Does anyone have
any more pointers? I have the same problem, see below.

Kind Regards,
contact admin


When a SELECT is executed to the application db and the result holds a swedish character å,ä or ö, I get the following error:

<RecoverableException>
<File>F:\build\S600_P\src\CommonServices\ImbConverter.cpp</File>
<Line>516</Line>
<Function>ImbConverterCPP::internalToUnicode</Function>
<Type/>
<Name/>
<Label/>
<Catalog>BIPv600</Catalog>
<Severity>3</Severity>
<Number>2135</Number>
<Text>Unconvertable character</Text>
<Insert>
<Type>5</Type>
<Text>e5</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>5374e5656e6465</Text>
</Insert>
<Insert>
<Type>2</Type>
<Text>1208</Text>
</Insert>

***
What is needed for either the Broker to use another codepage than 1208
OR to convert the data to 1208 before it hits the broker?

***


The environment:

Broker (6.0.0.3) running of Windows and the broker configuration database (db2) running on the same box.

Application database (also db2, codeset ISO8859-1) running on AIX.
_________________
contact admin
Back to top
View user's profile Send private message
Yaroslav
PostPosted: Thu Dec 21, 2006 12:30 am    Post subject: Reply with quote

Novice

Joined: 28 Sep 2006
Posts: 12
Location: Russia

Hi, Magnus_A!
We had similar problem: If result of SELECT contained national character(local RU), then raised same exception.
Configuration:
- WMB 6.0.0.0
- WMQ 5.3
- DB2 for AS400(V5R3)
After upgrate WMB to 6.0.0.1 the problem didn't solve.
Our administrator sent problem to IBM.They create special hot fix for us, that replace MessageServices.dll. This fix solved the problem.

I think, you need to open a PMR.
_________________
IBM Certified Solution Designer WebSphere MQ V6.0
IBM Certified Solution Developer WebSphere Message Broker V6.0
Back to top
View user's profile Send private message
j.f.sorge
PostPosted: Fri Jan 16, 2009 10:01 am    Post subject: Reply with quote

Master

Joined: 27 Feb 2008
Posts: 218

Yaroslav wrote:
They create special hot fix for us, that replace MessageServices.dll.

Do you have to APAR number (or something similar) for this fix?
_________________
IBM Certified Solution Designer - WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Conversion problem in database select in WMB6
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.