IIB节点退出,无响应MYSQL ODBC datasuce

时间:2018-11-01 13:59:50

标签: unixodbc ibm-integration-bus

我正在尝试使ODBC与IIB 10一起使用,但是我的节点退出时在调用state.select时没有响应。 我相信我的ODBC设置有问题。 系统日志不显示任何错误,调试器在该状态下崩溃。选择

这是我的代码:

    try {
     outP = new PrintWriter(new BufferedWriter(new FileWriter("/tmp/myfile.txt", true)));
outP.println("Start");
        MbSQLStatement state = createSQLStatement( "MYSQL", 
            "SET OutputRoot.XMLNS.integer[] = PASSTHRU('SELECT * FROM " + "test" + "');" );

         state.select( inAssembly, newAssembly );

    } catch (Exception e) {
    outP.println(e);
    outP.flush();
    outP.close();
}

结果: myfile.txt仅包含文本“开始”,该捕获永远不会运行

我的ODBC设置

$odbcinst -j
unixODBC 2.3.4

DRIVERS............: /home/ds/iib-10.0.0.13/ie02/etc/odbcinst.ini
SYSTEM DATA SOURCES: /home/ds/iib-10.0.0.13/ie02/etc/odbc.ini
FILE DATA SOURCES..: /home/ds/iib-10.0.0.13/ie02/etc/ODBCDataSources
USER DATA SOURCES..: /home/ds/iib-10.0.0.13/server/ODBC/unixodbc/odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

[MySQL]
Description=MySQL driver
Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so
Setup=/usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
TraceFile = /tmp/sql.log

[MYSQL]
Description=MYSQL DB
Driver=MySQL
Database=test
Server=127.0.0.1
Port=3306

1 个答案:

答案 0 :(得分:0)

尝试将属性setThrowExceptionOnDatabaseError设置为true。

state.setThrowExceptionOnDatabaseError(true);
  

如果在执行此语句期间发生数据库错误,则该行为由'throwExceptionOnDatabaseError'属性的值确定。如果设置为true(默认值),则会引发异常,如果在try / catch块中运行,则可以捕获该异常

(source)