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 » Database Insertion

Post new topic  Reply to topic
 Database Insertion « View previous topic :: View next topic » 
Author Message
Rockon
PostPosted: Sat Oct 29, 2005 11:56 am    Post subject: Database Insertion Reply with quote

Apprentice

Joined: 24 May 2004
Posts: 43

Hi All,
What m trying to do is inserting a combination of a string value with MQMD.MsgId into a database column.

Sample Result:
Hello/X'414d512041483330304430303120202042ffa1032041ac79'

Wanted result:
Hello/414d512041483330304430303120202042ffa1032041ac79

ESQL:
Quote:
InputBody.(XML.Element)[1].ApplicationArea.Sender.Component||'/'||CAST(InputRoot.MQMD.MsgId AS CHAR)



I tried to CAST the InputRoot.MQMD.MsgId value in different ways.I tried just putting it as InputRoot.MQMD.MsgId without casting. But fails with exception:
(0x01000000):ParserException = (
(0x03000000):File = '/build/S500_P/src/MTI/MTIforBroker/GenXmlParser2/XmlImbParser.cpp'
(0x03000000):Line = 394
(0x03000000):Function = 'XmlImbParser::parseFirstChild'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'XML Parsing Errors have occurred'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 5009
(0x01000000):ParserException = (
(0x03000000):File = '/build/S500_P/src/MTI/MTIforBroker/GenXmlParser2/XmlBrokerAsgardParser.cpp'
(0x03000000):Line = 815
(0x03000000):Function = 'XmlBrokerAsgardParser::error'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'An error has been reported by the BIPXML4C component.'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 5004
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '192'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = ''
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '587'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'Invalid character (Unicode: 0x3)'
)

Any inputs would be appreciated with this regard.
Thankyou,
Cheers
Back to top
View user's profile Send private message
EddieA
PostPosted: Sat Oct 29, 2005 2:05 pm    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

Quote:
Sample Result:
Hello/X'414d512041483330304430303120202042ffa1032041ac79'

Wanted result:
Hello/414d512041483330304430303120202042ffa1032041ac79

Simple. Just SUBSTRING out the part you want.

Cheers,
_________________
Eddie Atherton
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
Rockon
PostPosted: Sat Oct 29, 2005 3:19 pm    Post subject: Reply with quote

Apprentice

Joined: 24 May 2004
Posts: 43

Hi EddieA,
May be i dint explain it correctly.What i was looking for is the MQMD.MsgID to be inserted into the DB without it being tagged as X'<Value of MsgId>'....I just need the MsgId without it being appended by X''.What I was looking for is to insert the value to be treated as an INT.But when I CAST the MsgID as INT, the concatenated string value (||) errors out..and rightly so since m trying to concatenate <CHAR>||/||<INT>.
I hope you got my point.
Thankyou,
Cheers
Back to top
View user's profile Send private message
wschutz
PostPosted: Sat Oct 29, 2005 3:58 pm    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Are you trying to conver the MsgID field from a hex value into the character representation of that value?

So,

x'01234567' would become x'3031323334353637' (char: "01234567")
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
EddieA
PostPosted: Sat Oct 29, 2005 4:28 pm    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

Code:
InputBody.(XML.Element)[1].ApplicationArea.Sender.Component||'/'||SUBSTRING(CAST(InputRoot.MQMD.MsgId AS CHAR) FROM 3 FOR 48)

Will give you what you asked for initially.

When you get this data back, and want to convert it back to a MessageID, then all you do is CAST the 48 CHARs back to a BLOB.

Cheers,
_________________
Eddie Atherton
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 » Database Insertion
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.