IIB v10.19 до Oracle DB до Windows 10 с ошибкой выбрасывания JDB C - PullRequest
0 голосов
/ 03 апреля 2020

Это код внутри E SQL Вычислительный узел:

CREATE COMPUTE MODULE CalculatorMessageFlow_Compute
    CREATE FUNCTION Main() RETURNS BOOLEAN
    BEGIN
         CALL CopyMessageHeaders();
        -- CALL CopyEntireMessage();
        --DECLARE var REFERENCE TO Environment.Variables;
        DECLARE var1 INTEGER;
        SET var1 = 2;

        --SET var.profile[]=SELECT T.COLUMN1 FROM Database.AGCST.IIB AS T WHERE T.COLUMN1='test';
        --SET OutputRoot.XMLNSC.ns:Result.ns:AddedValue=var.profile.COLUMN1;
        INSERT INTO Database.AGCST.IIB (COLUMN2) VALUES (var1);
        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;

Вы можете видеть, что запросы SELECT закомментированы. Но, что существенно, здесь работают запросы на выборку, запросы на вставку выдают ошибку ниже:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>BIP3113E: Exception detected in message flow Calculator.CalculatorMessageFlow.SOAP Input (integration node TESTNODE_hghatak)</faultstring>
         <detail>
            <Text>BIP2230E: Error detected whilst processing a message in node 'Calculator.CalculatorMessageFlow.Calculator_msService.Extract'. 
The integration node detected an error whilst processing a message in node 'Calculator.CalculatorMessageFlow.Calculator_msService.Extract'. An exception has been thrown to cut short the processing of the message. 
See the following messages for details of the error. : F:\build\slot3\S1000_P\src\DataFlowEngine\PluginInterface\ImbJniNode.cpp: 1269: ImbJniNode::evaluate: ComIbmSOAPExtractNode: Calculator/CalculatorMessageFlow#FCMComposite_1_2.gen/Calculator/Calculator_msService_CalculatorMessageFlow#FCMComposite_1_1
BIP2230E: Error detected whilst processing a message in node 'Calculator.CalculatorMessageFlow.Compute'. 
The integration node detected an error whilst processing a message in node 'Calculator.CalculatorMessageFlow.Compute'. An exception has been thrown to cut short the processing of the message. 
See the following messages for details of the error. : F:\build\slot3\S1000_P\src\DataFlowEngine\SQLNodeLibrary\ImbComputeNode.cpp: 515: ImbComputeNode::evaluate: ComIbmComputeNode: Calculator/CalculatorMessageFlow#FCMComposite_1_7
BIP2488E:  ('Calculator.CalculatorMessageFlow_Compute.Main', '10.3') Error detected whilst executing the SQL statement ''INSERT INTO Database.AGCST.IIB (COLUMN2) VALUES(var1);''. 
The integration node detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program. 
See the following messages for details of the error. : F:\build\slot3\S1000_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp: 767: SqlStatementGroup::execute: : 
BIP2321E: Database error: ODBC return code '-1' using ODBC driver manager ''odbc32.dll''. 
The integration node encountered an error when processing a database operation. The ODBC return code was '-1'. See the following messages for information obtained from the database concerning this error. 
Use the following messages to determine the cause of the error. Typical problems are an incorrect datasource or table names. Correct either the database or integration node configuration. : F:\build\slot3\S1000_P\src\DataFlowEngine\MessageServices\ImbOdbc.cpp: 3817: ImbOdbcStatement::checkRcInner: : 
BIP2322E: Database error: SQL State ''IM001''; Native Error Code '0'; Error Text ''[Microsoft][ODBC Driver Manager] Driver does not support this function''. 
The error has the following diagnostic information:     SQL State             ''IM001''     SQL Native Error Code '0'     SQL Error Text        ''[Microsoft][ODBC Driver Manager] Driver does not support this function'' 
This message may be accompanied by other messages describing the effect on the integration node itself. Use the reason identified in this message with the accompanying messages to determine the cause of the error. Use the mqsicvp command to test connectivity to this database. : F:\build\slot3\S1000_P\src\DataFlowEngine\MessageServices\ImbOdbc.cpp: 4038: ImbOdbcStatement::checkRcInner: :</Text>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

Сначала сконфигурировал ODB C, позже удалил его и настроил jdb c. Та же ошибка «Драйвер не поддерживает эту функцию»:

ODBC Commands---

mqsisetdbparms TESTNODE_hghatak -n ADACDev -u AGCST -p pEpsico6

mqsireload TESTNODE_hghatak

mqsicvp TESTNODE_hghatak -n ADACDev


JDBC Commands---
--SET BROKERNAME=TESTNODE_hghatak
--SET PROVIDERNAME=ADACDev

MQSIDELETECONFIGURABLESERVICE TESTNODE_hghatak -c JDBCProviders -o ADACDev

mqsicreateconfigurableservice TESTNODE_hghatak -c JDBCProviders -o ADACDev -n connectionUrlFormat,connectionUrlFormatAttr1,databaseName,databaseType,databaseVersion,jarsURL,portNumber,securityIdentity,serverName,type4DatasourceClassName,type4DriverClassName -v "jdbc:oracle:thin:[user]/[password]@[serverName]:[portNumber]:[connectionUrlFormatAttr1],"AGDEV1","8","Oracle","11.2","C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib","1522","mySecurityIdentity",10.6.5.10,"oracle.jdbc.xa.client.OracleXADataSource","oracle.jdbc.OracleDriver"


MQSISETDBPARMS TESTNODE_hghatak -n jdbc::mySecurityIdentity -u AGCST -p pEpsico6

MQSISETDBPARMS TESTNODE_hghatak -n odbc::ADACDev -u AGCST -p pEpsico6

mqsichangeproperties TESTNODE_hghatak -c JDBCProviders -o ADACDev -n securityIdentity -v mySecurityIdentity

mqsireportproperties TESTNODE_hghatak -o ADACDev -c JDBCProviders -r

mqsireload TESTNODE_hghatak

mqsicvp TESTNODE_hghatak -n ADACDev


Commands Used for Deleting  before Recreation 4 ODBC+JDBC---

mqsisetdbparms TESTNODE_hghatak -n ADACDev -d
mqsisetdbparms TESTNODE_hghatak -n jdbc::mySecurityIdentity -d
mqsisetdbparms TESTNODE_hghatak -n odbc::ADACDev -d

В чем может быть проблема?

1 Ответ

0 голосов
/ 04 апреля 2020

Спасибо, приятели ... Проблема, которую я смог определить ... "EnableSQLDescribeParam" Мне пришлось включить в соединение ODB C 64 ... это решило проблему.

...