【问题标题】:IIB is not finding the jdbc driverIIB 没有找到 jdbc 驱动程序
【发布时间】:2020-03-09 14:43:23
【问题描述】:

我在 Windows 的 IBM 集成总线 (IIB v10) 中创建了一个名为 TESTDDBB 的 JDBCProvider 服务,这也是数据库的名称。我有一个 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 类

            ...
            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)
            ...

我在文件夹 C:\jdbc\lib 中有 ojdbc6.jar 驱动程序,并部署在集成服务器的共享库中,该库由包含 JavaCompute 节点的 RESTAPI 应用程序引用。我错过了什么?我尝试过使用 useDeployedJars true 和 false,并且 jarsURL 也与 'C:\jdbc\lib\ojdbc6' 一起使用,但没有成功。 windows中集成服务器的常用库在哪里?

【问题讨论】:

  • 能否提供您在日志中看到的完整错误

标签: jdbc ibm-integration-bus


【解决方案1】:

从一侧,您可以将 jar 放在 java 源文件夹的根目录中,并将此 jar 连接到 Integration Toolkit。这使您能够使用这个 jar。从另一端,您可以为集成节点配置 JDBC 提供程序,并在 getJDBCType4Connection 调用中使用创建的别名。有关从 JavaCompute 使用数据库的更多信息,您可以在此处查看 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多