【问题标题】:WSO2 Stream Processor , Integrating Database with Oracle DB , It does not workWSO2 流处理器,将数据库与 Oracle DB 集成,它不起作用
【发布时间】:2018-08-17 13:41:59
【问题描述】:

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

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

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

但我没有找到流处理器。我只找到了可以连接到 Mysql DB 的人。 https://docs.wso2.com/display/SP410/Integrating+Datastores 我用 Mysql DB 尝试过,并且可以工作。

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

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

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

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

wso2.datasources:数据源:

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

当启动 editor.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)

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

有人知道我可以如何配置它。

谢谢!

【问题讨论】:

    标签: wso2


    【解决方案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/

    【讨论】:

    • 我错过了向 OSGI 的转换...谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    相关资源
    最近更新 更多