Author |
Message
|
kayhansefat |
Posted: Wed Apr 18, 2007 6:52 am Post subject: ESQL Database Weirdness |
|
|
Acolyte
Joined: 18 Oct 2006 Posts: 65
|
I have a very simple:
MQInput --> ComputeNode --> MQOutput
Doing a very simple OutputRoot = InputRoot works fine and the message gets propagated to the Output Queue. However if I insert the line of code (below copying the entire message):
SET OutputLocalEnvironment.Test = THE(SELECT T.SENDING_APP FROM Database.wbiadmin.tbl_app_flow_list AS T);
The Database is then written in the DataSource property of the Compute Node and it sends the message out of the Failure terminal, the Exception List being:
Quote: |
(0x01000000):RecoverableException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbDataFlowNode.cpp'
(0x03000000):Line = 616
(0x03000000):Function = 'ImbDataFlowNode::createExceptionList'
(0x03000000):Type = 'ComIbmComputeNode'
(0x03000000):Name = 'NewTestFlow#FCMComposite_1_2'
(0x03000000):Label = 'NewTestFlow.Compute'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x03000000):Text = 'Node throwing exception'
(0x01000000):DatabaseException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbOdbc.cpp'
(0x03000000):Line = 227
(0x03000000):Function = 'ImbOdbcHandle::checkRcInner'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2321
(0x03000000):Text = 'Root SQL exception'
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '-1'
)
(0x01000000):DatabaseException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbOdbc.cpp'
(0x03000000):Line = 355
(0x03000000):Function = 'ImbOdbcHandle::checkRcInner'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2322
(0x03000000):Text = 'Child SQL exception'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '82'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '0'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '523 80'
)
)
)
) |
Debugging the code highlights that it doesnt even step into compute node, it fails straight away. Removing the line of code, leaving ONLY the OutputRoot = InputRoot still has the same effect, even after re-deploying the flow with the changes which I cannot understand!
Maybe an odbc problem with the datasource? I have added the database to the /var/mqsi/odbc/.odbc.ini file:
IETESTDB=IBM DB2 ODBC Driver
Quote: |
[ODBC]
Trace=0
TraceFile=/var/mqsi/odbc/odbctrace.out
TraceDll=/opt/mqsi/merant/lib/odbctrac.so
InstallDir=/opt/mqsi/merant
UseCursorLib=0
IANAAppCodePage=4
[IETESTDB]
Driver=/opt/IBM/db2/v8.1/lib/libdb2.so
Description=IETESTDB Broker Database
Database=IETESTDB |
|
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Apr 18, 2007 7:01 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Do you have Throw Exception on Database error checked? How about Treat Warnings as errors? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
kayhansefat |
Posted: Wed Apr 18, 2007 7:03 am Post subject: |
|
|
Acolyte
Joined: 18 Oct 2006 Posts: 65
|
Throw exception on database error is CHECKED.
Treat warnings as errors is UNCHECKED. |
|
Back to top |
|
 |
kayhansefat |
Posted: Wed Apr 18, 2007 7:06 am Post subject: |
|
|
Acolyte
Joined: 18 Oct 2006 Posts: 65
|
Also, on the line of code with the database SELECT,
T.SENDING_APP and Database.wbiadmin.tbl_app_flow_list both have warnings saying they are "Unresolvable database table references". |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Apr 18, 2007 7:11 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Those warnings just mean you haven't created a Database connection in the Toolkit and referenced it from or added it to the Message Flow project.
Did you run mqsisetdbparms? Or otherwise grant access to the broker service or database user? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
kayhansefat |
Posted: Wed Apr 18, 2007 7:49 am Post subject: |
|
|
Acolyte
Joined: 18 Oct 2006 Posts: 65
|
Well I didnt run mqsisetdbparms but I since now have. It completed successfully but still coming out of the failure terminal. I have even tried stopping and starting the db2 instance and redeploying the flow but to no avail. |
|
Back to top |
|
 |
|