wso2 - WSO2 流处理器,将数据库与 Oracle DB 集成,它不起作用
问题描述
我尝试配置 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驱动程序 https://www.oracle.com/technetwork/apps-tech/jdbc-112010-090769.html
2) 将所有 jar 文件复制到 /lib。
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
maxPoolSize:50
idleTimeout :60000
连接测试查询:选择 1
验证超时:30000
isAutoCommit:假
启动 editor.sh 时显示连接错误。
[XXXX-XX-XX XX:XX:XXX] 错误 {org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager} - 调用组件 carbon-datasource-service java.lang.RuntimeException 的 onAllRequiredCapabilitiesAvailable 时发生运行时异常:无法在 com.zaxxer.hikari.util.DriverDataSource.(DriverDataSource.java:88) 在 com.zaxxer.hikari.pool.PoolElf.initializeDataSource(PoolElf) 获取 jdbcUrl=jdbc:oracle:thin:@server_name:1521/instance_name 的驱动程序实例.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) at org.wso2.carbon.datasource.core.DataSourceBuilder.buildDataSourceObject(DataSourceBuilder.java:79) at 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) at org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager.lambda$notifySatisfiableComponents$7(StartupComponentManager.java:266) at java.util.ArrayList.forEach( ArrayList.java:第1257章) java.util.TimerThread.mainLoop(Timer.java:555) at 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)204) at java.util.TimerThread.mainLoop(Timer.java:555) at 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)204) at java.util.TimerThread.mainLoop(Timer.java:555) at 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)
服务器正常工作我有远程和本地连接。
有人知道我可以如何配置它。
谢谢 !
解决方案
您能否检查一下 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
在放入 SP_HOME/lib 目录之前,需要将 Oracle 驱动程序转换为 OSGI(使用 jartobundle.sh):
例如 sh SP_HOME/bin/jartobundle.sh ojdbc6.jar lib/
推荐阅读
- python - 导入包时出现错误“导入 rect 时 DLL 加载失败:%1 不是有效的 Win32 应用程序”
- python - whl 文件可以聚合其他 whl 文件吗
- android - Viewholder 可点击区域的边距底部未定义
- typescript - 如何将 json 文件转换为 Deno doc 网站
- regex - Shell - 重构连接数字的字符串正则表达式
- wordpress - 在 wordpress comment_reply_link() 中损坏评论的回复链接
- python - 错误:使用带有通配符的 re.findall 时出现虚假转义(行尾)
- javascript - Ember.js - 运行 ember --version 命令时出错
- python - 是否可以在 tkinter & python 中创建多个表单字段,然后以表格列格式将其提交到输出文本框
- jsp - JSP中注销按钮的会话无效