WSO2 流处理器,将数据库与 Oracle DB 集成,不起作用

WSO2 Stream Processor , Integrating Database with Oracle DB , It does not work

我尝试配置 Oracle 连接,但无法正常工作。

我在 WSO 网站上找到了如何从以前的 WSO 服务器(数据分析服务器)配置 Oracle 连接的信息

https://docs.wso2.com/display/DAS3xx/Setting+up+Oracle#SettingupOracle-SettinguptheJDBCdriver

但我没有找到流处理器。我只发现谁可以连接到 Mysql 数据库。 https://docs.wso2.com/display/SP410/Integrating+Datastores 我用 Mysql DB 尝试过并且有效。

但我尝试使用这两个信息来尝试配置 Oracle 数据库。

1) 我下载 ojdbc jar 驱动 https://www.oracle.com/technetwork/apps-tech/jdbc-112010-090769.html

2) 复制到 /lib 所有 jar 文件。

3) 尝试配置 /conf/editor/deployment.yaml

wso2.datasources:数据源:

姓名:Test_DB
描述:Oracle 数据源
定义:
类型:RDBMS
配置:
jdbcUrl: 'jdbc:oracle:thin:@server_name:1521/instance_name'
用户名:用户
密码:密码
driverClassName: oracle.jdbc.driver.OracleDriver
最大池大小:50
空闲超时:60000
连接测试查询:SELECT 1
验证超时:30000
isAutoCommit: false

启动时 editor.sh 显示连接错误。

[XXXX-XX-XX XX:XX:XXX] ERROR {org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager} - Runtime Exception occurred while calling onAllRequiredCapabilitiesAvailable of component carbon-datasource-service java.lang.RuntimeException: Unable to get driver instance for jdbcUrl=jdbc:oracle:thin:@server_name:1521/instance_name at com.zaxxer.hikari.util.DriverDataSource.(DriverDataSource.java:88) at com.zaxxer.hikari.pool.PoolElf.initializeDataSource(PoolElf.java:157) at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:113) at com.zaxxer.hikari.HikariDataSource.(HikariDataSource.java:73) at org.wso2.carbon.datasource.rdbms.hikari.HikariRDBMSDataSource.getDataSource(HikariRDBMSDataSource.java:56) at org.wso2.carbon.datasource.rdbms.hikari.HikariDataSourceReader.createDataSource(HikariDataSourceReader.java:74) at org.wso2.carbon.datasource.core.DataSourceBuilder.buildDataSourceObject(DataSourceBuilder.java:79) at org.wso2.carbon.datasource.core.DataSourceBuilder.buildDataSourceObject(DataSourceBuilder.java:60) at org.wso2.carbon.datasource.core.DataSourceBuilder.buildCarbonDataSource(DataSourceBuilder.java:44) at org.wso2.carbon.datasource.core.DataSourceManager.initDataSources(DataSourceManager.java:153) at org.wso2.carbon.datasource.core.internal.DataSourceListenerComponent.onAllRequiredCapabilitiesAvailable(DataSourceListenerComponent.java:125) at org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager.lambda$notifySatisfiableComponents(StartupComponentManager.java:266) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager.notifySatisfiableComponents(StartupComponentManager.java:252) at org.wso2.carbon.kernel.internal.startupresolver.StartupOrderResolver.run(StartupOrderResolver.java:204) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) Caused by: java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(DriverManager.java:315) at com.zaxxer.hikari.util.DriverDataSource.(DriverDataSource.java:81)

服务器工作正常我有远程和本地连接。

有人知道我如何配置它。

谢谢!

能否检查一下Oracle数据库的以下配置?

name: WSO2_TEST_DB
description: The datasource used for dashboard feature
jndiConfig:
  name: jdbc/WSO2_TEST_DB
  useJndiReference: true
definition:
  type: RDBMS
  configuration:
    jdbcUrl: 'jdbc:oracle:thin:@localhost:1521:XE'
    username: WSO2_TEST_DB
    password: root
    driverClassName: oracle.jdbc.driver.OracleDriver
    maxPoolSize: 50
    idleTimeout: 60000
    connectionTestQuery: SELECT 1
    validationTimeout: 30000
    isAutoCommit: false

重要提示:

  • 有两种设置方法。如果您有 SID,请使用此(较旧的)格式:

    jdbc:oracle:thin:@[HOST][:PORT]:SID

  • 如果您有 Oracle 服务名称,请使用这种(更新的)格式:

    jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE

  • Oracle 驱动程序在放入SP_HOME/lib 目录之前需要转换为 OSGI(使用 jartobundle.sh):

    例如 sh SP_HOME/bin/jartobundle.sh ojdbc6.jar lib/