|  | 
 
  
    | RSS Feed - WebSphere MQ Support | RSS Feed - Message Broker Support |  
 
  
	|    |  |  
  
	| 2.1 -> 6 Migration: ESQL db select issue? | « View previous topic :: View next topic » |  
  	| 
		
		
		  | Author | Message |  
		  | catwood2 | 
			  
				|  Posted: Fri Feb 23, 2007 7:21 am    Post subject: 2.1 -> 6 Migration: ESQL db select issue? |   |  |  
		  | Centurion
 
 
 Joined: 17 May 2002Posts: 108
 
 
 | 
			  
				| TIA for any pointers. 
 We are experiencing an issue when testing this code after migration:
 
 P_Convert_to_MRM_Convert_DEV_MRM.main', '1259.1'
 
 
   
	| Code: |  
	| SET CAT       = UPPER(OutputRoot.MRM.Category); SET SENDER_SYSTEM    = OutputRoot.MRM.Sender;
 SET TARGET_SYSTEM    = OutputRoot.MRM.Target;
 SET ACCT       = OutputRoot.MRM.Account;
 SET LOCATION       = OutputRoot.MRM.Site;
 SET SUBCAT       = NEWFIELD;
 
 SET SUPPRESS_CHECK = THE (SELECT ITEM T.target
 from Database.g2mq_filter  as T
 WHERE
 (T.sender = SENDER_SYSTEM or T.sender ='ALL')
 AND (T.target = TARGET_SYSTEM or T.target ='ALL')
 AND (T.account = ACCT or T.account ='ALL')
 AND (T.site = LOCATION or T.site = 'ALL')
 AND (T.category = CAT or T.category = 'ALL')
 AND (T.subcategory = SUBCAT or T.subcategory = 'ALL'));
 |  
 The trace output is showing this error:
 
 
   
	| Quote: |  
	| 2007-02-23 15:04:46.316932     5143   UserTrace   BIP2544I: Node 'VMSEvent_G2.P_ Convert_to_MRM.Convert_DEV_MRM': Executing database SQL statement ''SELECT T.target FROM g2mq_filter T WHERE (((((((T.sender)=(?))OR((T.sender)=('ALL')))AND(((T
 .target)=(?))OR((T.target)=('ALL'))))AND(((T.account)=(?))OR((T.account)=('ALL')
 )))AND(((T.site)=(?))OR((T.site)=('ALL'))))AND(((T.category)=(?))OR((T.category)
 =('ALL'))))AND(((T.subcategory)=(?))OR((T.subcategory)=('ALL')))'' derived from
 ('', '1.1'); expressions ''SENDER_SYSTEM,  TARGET_SYSTEM,  ACCT,  LOCATION,  CAT
 ,  SUBCAT''; resulting parameter values '''mcnxd001', 'IEMC.MQSI.VMSEVENT',  'E
 CS',  'NDC',  'TESTING',  'LOS-FLOW-COMPLETED'''.
 2007-02-23 15:04:46.364921     5143   UserTrace   BIP2231E: Error detected whils
 t processing a message in node 'VMSEvent_G2.P_Convert_to_MRM.Convert_DEV_MRM'.
 The message broker detected an error whil
 st processing a message in node 'VMSEvent_G2.P_Convert_to_MRM.Convert_DEV_MRM'.
 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.
 2007-02-23 15:04:46.364967     5143   RecoverableException  BIP2488E:  ('.P_Conv
 ert_to_MRM_Convert_DEV_MRM.main', '1259.1') Error detected whilst executing the
 SQL statement ''SET SUPPRESS_CHECK = THE (SELECT ITEM COLUMN(0) FROM DATABASE(,
 SENDER_SYSTEM, TARGET_SYSTEM, ACCT, LOCATION, CAT, SUBCAT));''.
 
 |  
 Using sqlplus and the brokers credentials to the db - the query runs fine. The final snippet regarding the sql statement appears off (leading comma in values list). I'm heading back to the manuals to see if I missed some relevant ESQL changes between the versions that might relate to the code.
 thanks again
 |  |  
		  | Back to top |  |  
		  |  |  
		  | catwood2 | 
			  
				|  Posted: Fri Feb 23, 2007 1:50 pm    Post subject: |   |  |  
		  | Centurion
 
 
 Joined: 17 May 2002Posts: 108
 
 
 | 
			  
				| I traced the working legacy code and the migrated code. Looks like there is an extra ' on the sql statement on the migrated. migrated:
 
 
   
	| Quote: |  
	| 'VMSEvent_G2.P_ Convert_to_MRM.Convert_DEV_MRM': Executing database SQL statement ''SELECT T.tar
 get FROM g2mq_filter T WHERE (((((((T.sender)=(?))OR((T.sender)=('ALL')))AND(((T
 .target)=(?))OR((T.target)=('ALL'))))AND(((T.account)=(?))OR((T.account)=('ALL')
 )))AND(((T.site)=(?))OR((T.site)=('ALL'))))AND(((T.category)=(?))OR((T.category)
 =('ALL'))))AND(((T.subcategory)=(?))OR((T.subcategory)=('ALL')))'' derived from
 ('', '1.1'); expressions ''SENDER_SYSTEM,  TARGET_SYSTEM,  ACCT,  LOCATION,  CAT
 ,  SUBCAT''; resulting parameter values '''mcnxd001',  'IEMC.MQSI.VMSEVENT',  'E
 CS',  'NDC',  'TESTING',  'LOS-FLOW-COMPLETED'''.
 |  
 legacy:
 
 
   
	| Quote: |  
	| 'VMSEvent_G2.P_ Convert_to_MRM.Convert_TIF_MRM': Executing database SQL statement 'SELECT T.targ
 et FROM g2mq_filter T WHERE (((((((T.sender)=(?))OR((T.sender)=('ALL')))AND(((T.
 target)=(?))OR((T.target)=('ALL'))))AND(((T.account)=(?))OR((T.account)=('ALL'))
 ))AND(((T.site)=(?))OR((T.site)=('ALL'))))AND(((T.category)=(?))OR((T.category)=
 ('ALL'))))AND(((T.subcategory)=(?))OR((T.subcategory)=('ALL')))' derived from (1
 , 1); expressions 'SENDER_SYSTEM,  TARGET_SYSTEM,  ACCT,  LOCATION,  CAT,  SUBCA
 T'; resulting parameter values ''mcnxt001',  'IEMC.MQSI.VMSEVENT',  'ECS',  'NDC
 ',  'TESTING',  'LOS-FLOW-COMPLETED''.
 |  |  |  
		  | Back to top |  |  
		  |  |  
		  | jefflowrey | 
			  
				|  Posted: Fri Feb 23, 2007 6:28 pm    Post subject: |   |  |  
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| You should make sure you are using 6.0.0.3 runtime, and then open a PMR. 
 
  _________________
 I am *not* the model of the modern major general.
 |  |  
		  | Back to top |  |  
		  |  |  
		  | elvis_gn | 
			  
				|  Posted: Fri Feb 23, 2007 10:16 pm    Post subject: Re: 2.1 -> 6 Migration: ESQL db select issue? |   |  |  
		  |  Padawan
 
 
 Joined: 08 Oct 2004Posts: 1905
 Location: Dubai
 
 | 
			  
				| Hi catwood2, Not sure why the migrated code did not work, maybe as jeff said, raising a PMR might be a good idea.
 
 For now I think this should work...
 
 
   
	| Code: |  
	| SET SUPPRESS_CHECK = THE (SELECT ITEM T.target from Database.g2mq_filter  as T
 WHERE
 (T.sender = SENDER_SYSTEM or T.sender =''ALL'')
 AND (T.target = TARGET_SYSTEM or T.target =''ALL'')
 AND (T.account = ACCT or T.account =''ALL'')
 AND (T.site = LOCATION or T.site = ''ALL'')
 AND (T.category = CAT or T.category = ''ALL'')
 AND (T.subcategory = SUBCAT or T.subcategory = ''ALL''));
 |  Regards.
 |  |  
		  | Back to top |  |  
		  |  |  
		  | jefflowrey | 
			  
				|  Posted: Sat Feb 24, 2007 6:22 am    Post subject: |   |  |  
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| You may need three ' there. _________________
 I am *not* the model of the modern major general.
 |  |  
		  | Back to top |  |  
		  |  |  
		  | catwood2 | 
			  
				|  Posted: Mon Feb 26, 2007 6:35 am    Post subject: |   |  |  
		  | Centurion
 
 
 Joined: 17 May 2002Posts: 108
 
 
 | 
			  
				| Thanks for the input. Opening PMR. 
 I altered the ESQL as suggested. 3 ' would be accepted - but, identical error occurred. Could not get 2 ' accepted without syntax error  -
 
 
 
   
	| Quote: |  
	| Severity	Description	Resource	In Folder	Location	Creation Time 2	Unable to find function or procedure named "Main" in module "P_Convert_to_MRM_Convert_DEV_MRM" in default broker schema.	P_Convert_to_MRM.msgflow	TEST6.0		February 26, 2007 9:31:02 AM
 
 |  
 Jeff - did you suspect syntactical error with just 2 '   ?
 thanks
 |  |  
		  | Back to top |  |  
		  |  |  
		  | jefflowrey | 
			  
				|  Posted: Mon Feb 26, 2007 6:48 am    Post subject: |   |  |  
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| I did.  Two ' means the same as "'".  So to produce a string value of 'ALL' would mean that the CONTENTS of the quoted string would have to be ''ALL''. 
 And the string has to be quoted with a '.  So it would have to be '''ALL'''.
 _________________
 I am *not* the model of the modern major general.
 |  |  
		  | Back to top |  |  
		  |  |  
		  | catwood2 | 
			  
				|  Posted: Tue Feb 27, 2007 6:38 am    Post subject: |   |  |  
		  | Centurion
 
 
 Joined: 17 May 2002Posts: 108
 
 
 | 
			  
				| This issue has been resolved. The ODBC stanza was specifying the broker database instead of the target external db. So, the error that the table or view did not exist was correct. The issue around how the trace reflected the query construction, query syntax, etc were not factors.  |  |  
		  | Back to top |  |  
		  |  |  
		  |  |  |  
  
	|    |  | Page 1 of 1 |  
 
 
  
  	| 
		
		  | 
 
 | 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
 
 |  |  |  |