我已经在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正确和错误,以及jarsURL和'C:\ jdbc \ lib \ ojdbc6'也未成功。 Windows中集成服务器的公共库在哪里?
从一侧可以将jar放置到java源文件夹的根目录,并将此jar连接到Integration Toolkit。这使您能够使用此罐子。从另一端,您可以为Integration节点配置JDBC提供程序,并在getJDBCType4Connection调用中使用创建的别名。有关从JavaCompute处理数据库的更多信息,请参见1