IIB не находит драйвер jdb c - PullRequest
0 голосов
/ 09 марта 2020

Я создал службу JDBCProvider в шине интеграции IBM (IIB v10) в Windows, которая называется TESTDDBB, которая также является именем базы данных. У меня есть узел JavaCompute, где я пытаюсь сгенерировать соединение для вызова функции oracle

        TESTDDBB
          connectionUrlFormat='jdbc:oracle:thin:@x.x.x.x:1521:TESTDDBB;'
          connectionUrlFormatAttr1=''
          connectionUrlFormatAttr2=''
          connectionUrlFormatAttr3=''
          connectionUrlFormatAttr4=''
          connectionUrlFormatAttr5=''
          databaseName='TESTDDBB'
          databaseSchemaNames='PROM'
          databaseType='Oracle'
          databaseVersion='11.2.0.4.0'
          description='default_Description'
          environmentParms='default_none'
          jarsURL='C:\jdbc\lib'
          jdbcProviderXASupport='true'
          maxConnectionPoolSize='200'
          portNumber='1521'
          securityIdentity='devCredentials'
          serverName='x.x.x.x'
          type4DatasourceClassName='oracle.jdbc.xa.client.OracleXADataSource'
          type4DriverClassName='oracle.jdbc.OracleDriver'
          useDeployedJars='true'


        public class GetUserData_JavaCompute extends MbJavaComputeNode {

            public void evaluate(MbMessageAssembly inAssembly) throws MbException {
                ...
                Connection conn = getJDBCType4Connection("TESTDDBB",JDBC_TransactionType.MB_TRANSACTION_AUTO);
                try(CallableStatement callableStmt = conn.prepareCall("{ ? = call PROM.pkg_prop_2.getUserData(?)}");) {
                ...
                }
                ...
            }
        }

Проблема в том, что, когда IIB пытался получить соединение, он не находит источник данных java class

            ...
            com.ibm.broker.jdbctype4.jdbcdbasemgr.JDBCType4Connection@-53d4c850.createXAConnection 'java.lang.ClassNotFoundException: oracle.jdbc.xa.client.OracleXADataSource at java.net.URLClassLoader.findClass(URLClassLoader.java:609) at com.ibm.broker.classloading.JavaResourceClassLoader.findClass(JavaResourceClassLoader.java:181) at com.ibm.broker.classloading.SharedClassLoader.findClass(SharedClassLoader.java:215) at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:925)
            ...

У меня есть драйвер ojdbc6.jar в папке C: \ jdbc \ lib и развернут в общей библиотеке на сервере интеграции, библиотека, на которую ссылается приложение RESTAPI, которое содержит узел JavaCompute Что мне не хватает? Я попытался использовать useDeployedJars true и false, а jarsURL также с 'C: \ jdbc \ lib \ ojdbc6', но безуспешно. Где находятся общие библиотеки сервера интеграции в windows?

1 Ответ

0 голосов
/ 11 марта 2020

С одной стороны вы можете поместить банку в root вашей java исходной папки и подключить эту банку к Integration Toolkit. Это даст вам возможность использовать эту банку. С другой стороны, вы можете настроить JDB C провайдера для узла интеграции и использовать созданный псевдоним в вызове getJDBCType4Connection. Более подробную информацию о работе с базами данных из JavaCompute вы можете увидеть здесь 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...