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 » first SQLExecute call Error

Post new topic  Reply to topic
 first SQLExecute call Error « View previous topic :: View next topic » 
Author Message
Vijji
PostPosted: Tue May 23, 2006 5:23 pm    Post subject: first SQLExecute call Error Reply with quote

Voyager

Joined: 30 Aug 2005
Posts: 83

Hello everybody,

I'm getting the following error when executing merge statement in ESQL code
Code:

Message
LocalEnvironment
Environment
ExceptionList
   RecoverableException
      File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbDataFlowNode.cpp
      Line = 616
      Function = ImbDataFlowNode::createExceptionList
      Type = ComIbmMQInputNode
      Name = DIM_PROD_SKU_DAILY_Flow#FCMComposite_1_1
      Label = DIM_PROD_SKU_DAILY_Flow.MQInput
      Catalog = BIPv600
      Severity = 3
      Number = 2230
      Text = Node throwing exception
      RecoverableException
         File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbComputeNode.cpp
         Line = 464
         Function = ImbComputeNode::evaluate
         Type = ComIbmComputeNode
         Name = DIM_PROD_SKU_DAILY_Flow#FCMComposite_1_4
         Label = DIM_PROD_SKU_DAILY_Flow.Compute1
         Catalog = BIPv600
         Severity = 3
         Number = 2230
         Text = Caught exception and rethrowing
         RecoverableException
            File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbRdl\\ImbRdlStatementGroup.cpp
   Line = 573
   Function = SqlStatementGroup::execute
   Type = ComIbmComputeNode
   Name = DIM_PROD_SKU_DAILY_Flow#FCMComposite_1_4
   Label = DIM_PROD_SKU_DAILY_Flow.Compute1
   Catalog = BIPv600
   Severity = 3
   Number = 2488
   Text = Error detected, rethrowing
   Insert
       Type = 5
       Text = .DIM_PROD_SKU_DAILY_Flow_Compute1.Main
   Insert
        Type = 5
        Text = 1319.2
   Insert
        Type = 5
        Text = PASSTHRU('MERGE INTO DIM_PROD_DAILY R USING (SELECT ? MFG_CODE,? UPC_CODE,? GEN_CODE,? UPC_DESC,? FAM_CODE,? FAM_DESC,? CAT_CODE,? CAT_DESC,? GRP_CODE,? GRP_DESC,? SEG_CODE,? SEG_DESC,? UNIT_CODE,? UNIT_DESC,? LAUNCH_DATE,? UPC,? SKU,? NEW_PRODUCT,? NP_CODE,? ME_CODE,? UPC_DESC_FRENCH,? COSTING_FACTOR,? COSTING_UOM,? COSTING_HEIGHT,? COSTING_LENGTH,? COSTING_WIDTH,? COSTING_WEIGHT,? CASE_HEIGHT,? CASE_LENGTH,? CASE_WIDTH,? CASE_WEIGHT,? UOM_FACTOR_EACH,? UOM_FACTOR_CTN,? UOM_FACTOR_CASE,? UOM_FACTOR_LAYER,? UOM_FACTOR_PALLET,? UOM_RETAIL_UNIT,? DISCONTINUE_IND,? ITEM_ALIAS,? PROD_DESC,? CARTON_QTY,? CASE_QTY,? LAYER_QTY,? PALLET_QTY,? BRAND,? BRAND_DESC,? NEW_VS_REPL,? UOM_MARKETING,? UOM_MANUFACTURING,? MFG_DATE,? DISC_DATE,? PROD_ID FROM DUAL) S ON (R.CAT_CODE=S.CAT_CODE AND R.GRP_CODE=S.GRP_CODE AND R.SEG_CODE=S.SEG_CODE AND R.UNIT_CODE=S.UNIT_CODE AND R.PROD_ID=S.PROD_ID) WHEN MATCHED THEN UPDATE SET R.MFG_CODE=S.MFG_CODE, R.UPC_CODE=S.UPC_CODE, R.GEN_CODE=S.GEN_CODE, R.UPC_DESC=S.UPC_DESC, R.FAM_CODE=S.FAM_CODE, R.FAM_DESC=S.FAM_DESC, R.CAT_DESC=S.CAT_DESC,  R.GRP_DESC=S.GRP_DESC, R.SEG_DESC=S.SEG_DESC, R.UNIT_DESC=S.UNIT_DESC, R.LAUNCH_DATE=S.LAUNCH_DATE, R.UPC=S.UPC, R.SKU=S.SKU, R.NEW_PRODUCT=S.NEW_PRODUCT, R.NP_CODE=S.NP_CODE, R.ME_CODE=S.ME_CODE, R.UPC_DESC_FRENCH=S.UPC_DESC_FRENCH, R.COSTING_FACTOR=S.COSTING_FACTOR, R.COSTING_UOM=S.COSTING_UOM, R.COSTING_HEIGHT=S.COSTING_HEIGHT, R.COSTING_LENGTH=S.COSTING_LENGTH, R.COSTING_WIDTH=S.COSTING_WIDTH, R.COSTING_WEIGHT=S.COSTING_WEIGHT, R.CASE_HEIGHT=S.CASE_HEIGHT, R.CASE_LENGTH=S.CASE_LENGTH, R.CASE_WIDTH=S.CASE_WIDTH, R.CASE_WEIGHT=S.CASE_WEIGHT, R.UOM_FACTOR_EACH=S.UOM_FACTOR_EACH, R.UOM_FACTOR_CTN=S.UOM_FACTOR_CTN, R.UOM_FACTOR_CASE=S.UOM_FACTOR_CASE, R.UOM_FACTOR_LAYER=S.UOM_FACTOR_LAYER, R.UOM_FACTOR_PALLET=S.UOM_FACTOR_PALLET, R.UOM_RETAIL_UNIT=S.UOM_RETAIL_UNIT, R.DISCONTINUE_IND=S.DISCONTINUE_IND, R.ITEM_ALIAS=S.ITEM_ALIAS, R.PROD_DESC=S.PROD_DESC, R.CARTON_QTY=S.CARTON_QTY, R.CASE_QTY=S.CASE_QTY, R.LAYER_QTY=S.LAYER_QTY, R.PALLET_QTY=S.PALLET_QTY, R.BRAND=S.BRAND, R.BRAND_DESC=S.BRAND_DESC, R.NEW_VS_REPL=S.NEW_VS_REPL, R.UOM_MARKETING=S.UOM_MARKETING, R.UOM_MANUFACTURING=S.UOM_MANUFACTURING,  R.MFG_DATE=S.MFG_DATE, R.DISC_DATE=S.DISC_DATE WHEN NOT MATCHED THEN INSERT (R.MFG_CODE,R.UPC_CODE,R.GEN_CODE,R.UPC_DESC,R.FAM_CODE,R.FAM_DESC,R.CAT_CODE,R.CAT_DESC,R.GRP_CODE,R.GRP_DESC,R.SEG_CODE,R.SEG_DESC,R.UNIT_CODE,R.UNIT_DESC,R.LAUNCH_DATE,R.UPC,R.SKU,R.NEW_PRODUCT,R.NP_CODE,R.ME_CODE,R.UPC_DESC_FRENCH,R.COSTING_FACTOR,R.COSTING_UOM,R.COSTING_HEIGHT,R.COSTING_LENGTH,R.COSTING_WIDTH,R.COSTING_WEIGHT,R.CASE_HEIGHT,R.CASE_LENGTH,R.CASE_WIDTH,R.CASE_WEIGHT,R.UOM_FACTOR_EACH,R.UOM_FACTOR_CTN,R.UOM_FACTOR_CASE,R.UOM_FACTOR_LAYER,R.UOM_FACTOR_PALLET,R.UOM_RETAIL_UNIT,R.DISCONTINUE_IND,R.ITEM_ALIAS,R.PROD_DESC,R.CARTON_QTY,R.CASE_QTY,R.LAYER_QTY,R.PALLET_QTY,R.BRAND,R.BRAND_DESC,R.NEW_VS_REPL,R.UOM_MARKETING,R.UOM_MANUFACTURING,R.MFG_DATE,R.DISC_DATE,R.PROD_ID) VALUES (S.MFG_CODE,S.UPC_CODE,S.GEN_CODE,S.UPC_DESC,S.FAM_CODE,S.FAM_DESC,S.CAT_CODE,S.CAT_DESC,S.GRP_CODE,S.GRP_DESC,S.SEG_CODE,S.SEG_DESC,S.UNIT_CODE,S.UNIT_DESC,S.LAUNCH_DATE,S.UPC,S.SKU,S.NEW_PRODUCT,S.NP_CODE,S.ME_CODE,S.UPC_DESC_FRENCH,S.COSTING_FACTOR,S.COSTING_UOM,S.COSTING_HEIGHT,S.COSTING_LENGTH,S.COSTING_WIDTH,S.COSTING_WEIGHT,S.CASE_HEIGHT,S.CASE_LENGTH,S.CASE_WIDTH,S.CASE_WEIGHT,S.UOM_FACTOR_EACH,S.UOM_FACTOR_CTN,S.UOM_FACTOR_CASE,S.UOM_FACTOR_LAYER,S.UOM_FACTOR_PALLET,S.UOM_RETAIL_UNIT,S.DISCONTINUE_IND,S.ITEM_ALIAS,S.PROD_DESC,S.CARTON_QTY,S.CASE_QTY,S.LAYER_QTY,S.PALLET_QTY,S.BRAND,S.BRAND_DESC,S.NEW_VS_REPL,S.UOM_MARKETING,S.UOM_MANUFACTURING,S.MFG_DATE,S.DISC_DATE,S.PROD_ID)', MFG_CODE, UPC_CODE, GEN_CODE, UPC_DESC, FAM_CODE, FAM_DESC, CAT_CODE, CAT_DESC, GRP_CODE, GRP_DESC, SEG_CODE, SEG_DESC, UNIT_CODE, UNIT_DESC, LAUNCH_DATE, UPC, SKU, NEW_PRODUCT, NP_CODE, ME_CODE, UPC_DESC_FRENCH, COSTING_FACTOR, COSTING_UOM, COSTING_HEIGHT, COSTING_LENGTH, COSTING_WIDTH, COSTING_WEIGHT, CASE_HEIGHT, CASE_LENGTH, CASE_WIDTH, CASE_WEIGHT, UOM_FACTOR_EACH, UOM_FACTOR_CTN, UOM_FACTOR_CASE, UOM_FACTOR_LAYER, UOM_FACTOR_PALLET, UOM_RETAIL_UNIT, DISCONTINUE_IND, ITEM_ALIAS, PROD_DESC, CARTON_QTY, CASE_QTY, LAYER_QTY, PALLET_QTY, BRAND, BRAND_DESC, NEW_VS_REPL, UOM_MARKETING, UOM_MANUFACTURING, MFG_DATE, DISC_DATE, PROD_ID)
   DatabaseException
   File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbOdbc.cpp
   Line = 232
   Function = ImbOdbcHandle::checkRcInner
   Type =
   Name =
   Label =
   Catalog = BIPv600
   Severity = 3
   Number = 2321
   Text = Root SQL exception
   Insert
         Type = 2
         Text = -1
   DatabaseException
   File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbOdbc.cpp
   Line = 360
   Function = ImbOdbcHandle::checkRcInner
   Type =
   Name =
   Label =
   Catalog = BIPv600
   Severity = 3
   Number = 2322
   Text = Child SQL exception
   Insert
        Type = 5
        Text = HY000
   Insert
         Type = 2
         Text = 0
   Insert
         Type = 5
         Text = [DataDirect][ODBC Oracle driver]Data type for parameter 50 has changed since first SQLExecute call.



Thanks in advance,
Vijji.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue May 23, 2006 5:54 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Is it possible you're passing NULL to parameter 50?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vijji
PostPosted: Tue May 23, 2006 6:14 pm    Post subject: Reply with quote

Voyager

Joined: 30 Aug 2005
Posts: 83

Its possible,as it is a NULL field..and also the merge operation is successful for the first iteration of my code.I am getting error in the second iteration.









Thanks for the reply,
Vijji.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue May 23, 2006 6:22 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Well, what the error is saying is that the first time the statement ran, the data type of the 50th parameter was one thing, and the second time it was something else.

I don't know for a fact that this is caused by passing a NULL value one time and a real value the second, but it's suspicious.

Out of curiosity (someone else might find it useful, but I won't) - what database are you talking to?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vijji
PostPosted: Tue May 23, 2006 7:01 pm    Post subject: Reply with quote

Voyager

Joined: 30 Aug 2005
Posts: 83

Quote:
Out of curiosity (someone else might find it useful, but I won't) - what database are you talking to?


ORACLE 9i.

Quote:
I don't know for a fact that this is caused by passing a NULL value one time and a real value the second, but it's suspicious.


Getting same error if always passing NULL value to that 50th field.

Thanks,
Vijji.
Back to top
View user's profile Send private message
Vijji
PostPosted: Wed May 24, 2006 5:54 am    Post subject: Reply with quote

Voyager

Joined: 30 Aug 2005
Posts: 83

Getting the same error even if i hard coded the 50th field which is taking NULL value by default.









Thanks in advance,
Vijji.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed May 24, 2006 5:56 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

What happens if you execute a simpler merge statement, with perhaps two parameters instead of 50?

It may be that PASSTHRU doesn't support the call you're trying to make.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vijji
PostPosted: Wed May 24, 2006 5:59 am    Post subject: Reply with quote

Voyager

Joined: 30 Aug 2005
Posts: 83

Hi Jeff,
Its working fine when i used merge statement with only two fields(one id varchar2 and another one is date type).






Thanks,
Vijji.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed May 24, 2006 6:34 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

How about if you do a merge with all parameters but the 50th?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vijji
PostPosted: Wed May 24, 2006 6:41 am    Post subject: Reply with quote

Voyager

Joined: 30 Aug 2005
Posts: 83

Then the error is shifting to the previous filed ,,like

Code:
Text = [DataDirect][ODBC Oracle driver]Data type for parameter 50 has changed since first SQLExecute call.




Thnx,
Vijji.[/quote]
Back to top
View user's profile Send private message
Vijji
PostPosted: Wed May 24, 2006 6:43 am    Post subject: Reply with quote

Voyager

Joined: 30 Aug 2005
Posts: 83

Hi Jeff,
Can u analyze and tel me the statements in the below link

Quote:
http://forums.datadirect.com/ddforums/thread.jspa?messageID=4250&SMSESSION=NO




Thanks in advace,
Vijji.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed May 24, 2006 6:52 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I'd say that's worth a shot, adding that workaround. Looking at your trace, I'm guessing you're on Windows. So then there should be a field on the ODBC data source parameters in the Control Panel somewhere that lets you add work-arounds.

You could also try checking "Enable SQLDescribeParam" and see if that helps.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Ian
PostPosted: Fri May 26, 2006 2:34 am    Post subject: Reply with quote

Disciple

Joined: 22 Nov 2002
Posts: 152
Location: London, UK

Quote:
http://forums.datadirect.com/ddforums/thread.jspa?messageID=4250&SMSESSION=NO


Please note that this link refers to the Wire Protocol driver whereas the driver you are using is the Connect for ODBC driver.
You can see this is the error messages :
Wire Protocol driver --> [DataDirect][ODBC Oracle Wire Protocol driver]
Connect for ODBC driver --> [DataDirect][ODBC Oracle driver]

The conclusion just happens to be correct but then this is also covered in the WMBv6 docs ...

Quote:
5. Right-click the DSN, and select New > String Value. Specify WorkArounds for the string, and set the value to 536870912.

_________________
Regards, Ian
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 » first SQLExecute call Error
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.