WSO2流处理器,将数据库与Oracle DB集成,无法正常运行

时间:2018-08-17 13:42:00

标签: wso2

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

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

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

但是我没有找到Stream Processor。我只发现谁可以连接到Mysql DB。 https://docs.wso2.com/display/SP410/Integrating+Datastores我在Mysql DB上尝试过并且可以使用。

但是我尝试使用这两种信息来尝试配置Oracle db。

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

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

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

wso2.datasources:dataSources:

名称:Test_DB
       说明:Oracle数据源
       定义:
         类型:RDBMS
         配置:
           jdbcUrl:'jdbc:oracle:thin:@server_name:1521 / instance_name'
           用户名:用户
           密码:密码
           driverClassName:oracle.jdbc.driver.OracleDriver
           maxPoolSize:50
           idleTimeout:60000
           connectionTestQuery:SELECT 1
           validationTimeout:30000
           isAutoCommit:false

启动编辑器时。sh显示连接错误。

  

[XXXX-XX-XX XX:XX:XXX]错误   {org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager}   -调用组件的onAllRequiredCapabilitiesAvailable时发生运行时异常   carbon-datasource-service java.lang.RuntimeException:无法获取   的驱动程序实例   jdbcUrl = jdbc:oracle:thin:@server_name:1521 / instance_name           在com.zaxxer.hikari.util.DriverDataSource。(DriverDataSource.java:88)           在com.zaxxer.hikari.pool.PoolElf.initializeDataSource(PoolElf.java:157)           在com.zaxxer.hikari.pool.HikariPool。(HikariPool.java:113)           在com.zaxxer.hikari.HikariDataSource。(HikariDataSource.java:73)           在org.wso2.carbon.datasource.rdbms.hikari.HikariRDBMSDataSource.getDataSource(HikariRDBMSDataSource.java:56)           在org.wso2.carbon.datasource.rdbms.hikari.HikariDataSourceReader.createDataSource(HikariDataSourceReader.java:74)           在org.wso2.carbon.datasource.core.DataSourceBuilder.buildDataSourceObject(DataSourceBuilder.java:79)           在org.wso2.carbon.datasource.core.DataSourceBuilder.buildDataSourceObject(DataSourceBuilder.java:60)           在org.wso2.carbon.datasource.core.DataSourceBuilder.buildCarbonDataSource(DataSourceBuilder.java:44)           在org.wso2.carbon.datasource.core.DataSourceManager.initDataSources(DataSourceManager.java:153)           在org.wso2.carbon.datasource.core.internal.DataSourceListenerComponent.onAllRequiredCapabilitiesAvailable(DataSourceListenerComponent.java:125)处           在org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager.lambda $ notifySatisfiableComponents $ 7(StartupComponentManager.java:266)           在java.util.ArrayList.forEach(ArrayList.java:1257)           在org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager.notifySatisfiableComponents(StartupComponentManager.java:252)处           在org.wso2.carbon.kernel.internal.startupresolver.StartupOrderResolver $ 1.run(StartupOrderResolver.java:204)           在java.util.TimerThread.mainLoop(Timer.java:555)           在java.util.TimerThread.run(Timer.java:505)处,原因:java.sql.SQLException:没有合适的驱动程序           在java.sql.DriverManager.getDriver(DriverManager.java:315)           在com.zaxxer.hikari.util.DriverDataSource。(DriverDataSource.java:81)

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

有人知道我该如何配置它。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以检查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驱动程序转换为OSGI(使用jartobundle.sh),然后再放入SP_HOME / lib目录:

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