我做了这样一个消息流,用computer节点访问SQL数据库.三个节点,MQinput 、MQoutput、computer节点。 SQL数据库中在tempdb数据库中建立数据表T1,运行结果没有出错,但是我自己新建一个数据库:ceshi,然后在数据库ceshi目录下新建表T1,同样的运行部署,却出现错误!!
ESQL 编程是这样写的
CREATE COMPUTE MODULE accessSQLServer2008_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- CALL CopyMessageHeaders();
-- CALL CopyEntireMessage();
DECLARE R INTEGER 0;
SET R=SELECT COUNT(*) FROM Database.T1;
SET OutputRoot = InputRoot;
SET OutputRoot.XMLNSC.table.records =R;
RETURN TRUE;
END;
CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER 1;
DECLARE J INTEGER;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
END;
CREATE PROCEDURE CopyEntireMessage() BEGIN
SET OutputRoot = InputRoot;
END;
END MODULE;
部署后,我运行,却出现这样的错误ExceptionList
RecoverableException
File:CHARACTER:F:buildS000_PsrcDataFlowEngineImbDataFlowNode.cpp
Line:INTEGER:1073
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmMQInputNode
Name:CHARACTER:accessSQLServer2008#FCMComposite_1_1
Label:CHARACTER:accessSQLServer2008.MQInput
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
RecoverableException
File:CHARACTER:F:buildS000_PsrcDataFlowEngineImbComputeNode.cpp
Line:INTEGER:481
Function:CHARACTER:ImbComputeNode::evaluate
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:accessSQLServer2008#FCMComposite_1_3
Label:CHARACTER:accessSQLServer2008.Compute
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
RecoverableException
File:CHARACTER:F:buildS000_PsrcDataFlowEngineImbRdlImbRdlStatementGroup.cpp
Line:INTEGER:595
Function:CHARACTER:SqlStatementGroup::execute
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:accessSQLServer2008#FCMComposite_1_3
Label:CHARACTER:accessSQLServer2008.Compute
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2488
Text:CHARACTER:Error detected, rethrowing
Insert
Type:INTEGER:5
Text:CHARACTER:.accessSQLServer2008_Compute.Main
Insert
Type:INTEGER:5
Text:CHARACTER:7.3
Insert
Type:INTEGER:5
Text:CHARACTER:SET R = SELECT COUNT(*) FROM Database.T1 AS T1;
DatabaseException
File:CHARACTER:F:buildS000_PsrcDataFlowEngineImbOdbc.cpp
Line:INTEGER:324
Function:CHARACTER:ImbOdbcHandle::checkRcInner
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2321
Text:CHARACTER:Root SQL exception
Insert
Type:INTEGER:2
Text:CHARACTER:-1
DatabaseException
File:CHARACTER:F:buildS000_PsrcDataFlowEngineImbOdbc.cpp
Line:INTEGER:447
Function:CHARACTER:ImbOdbcHandle::checkRcInner
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2322
Text:CHARACTER:Child SQL exception
Insert
Type:INTEGER:5
Text:CHARACTER:42S02
Insert
Type:INTEGER:2
Text:CHARACTER:208
Insert
Type:INTEGER:5
Text:CHARACTER:[Microsoft][SQL Server Native Client 10.0][SQL Server]对象名 'T1' 无效。
DatabaseException
File:CHARACTER:F:buildS000_PsrcDataFlowEngineImbOdbc.cpp
Line:INTEGER:447
Function:CHARACTER:ImbOdbcHandle::checkRcInner
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2322
Text:CHARACTER:Child SQL exception
Insert
Type:INTEGER:5
Text:CHARACTER:42000
Insert
Type:INTEGER:2
Text:CHARACTER:8180
Insert
Type:INTEGER:5
Text:CHARACTER:[Microsoft][SQL Server Native Client 10.0][SQL Server]无法预定义语句。