今天做WebSphere Message Broker 练习时,使用Compute节点访问数据库时,.遇到一个很恼火的问题,找了几个小时,都没有找到原因..
后面想到应该是Oracle ODBC数据源配置的问题..与ESQL代码无关..
解决方案:
于是打开 控制面板 -> 管理工具->数据源ODBC->选中数据源->配置->高级->
把Enable SQLDescribeParm 和 Procedure Return results的复选框勾上即可.
重启broker, 问题解决.
没有报ODBC数据管理器,驱动程序不支持的错误了. ^_^.
源代码如下:
我试了下面两种方法,都报Text:CHARACTER:[Microsoft][ODBC 驱动程序管理器] 驱动程序不支持此功能错误.
--获取id值;
DECLARE id CHARACTER InputRoot.XML.record.id;
SET cust_Name =THE(SELECT ITEM CUSTOMER.CUST_NAME FROM Database.customer AS CUSTOMER WHERE CUSTOMER.CUST_ID = id);
或者是
SET cust_Name =THE(SELECT ITEM CUSTOMER.CUST_NAME FROM Database.customer AS CUSTOMER WHERE CUSTOMER.CUST_ID = InputRoot.XML.record.id);
如果是直接指定一个id值就可以.
SET cust_Name =THE(SELECT ITEM CUSTOMER.CUST_NAME FROM Database.customer AS CUSTOMER WHERE CUSTOMER.CUST_ID = '100001');
错误信息:
DatabaseException
File:CHARACTER:F:\build\S700_P\src\DataFlowEngine\ImbOdbc.cpp
Line:INTEGER:480
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:IM001
Insert
Type:INTEGER:2
Text:CHARACTER:0
Insert
Type:INTEGER:5
Text:CHARACTER:[Microsoft][ODBC 驱动程序管理器] 驱动程序不支持此功能