0
votes

I tried to configure a Oracle connection but I could not make it works.

I found information in WSO website how configure Oracle connection from previous WSO Server (Data analytics Server)

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

But i didn't found for Stream Processor. I only found who can connect to Mysql DB . https://docs.wso2.com/display/SP410/Integrating+Datastores I tried that with Mysql DB and works .

But i tried to use both information to try to configure Oracle db .

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

2) Copied to /lib all jar files .

3) Tried to configure /conf/editor/deployment.yaml

wso2.datasources: dataSources:

name: Test_DB
description: The Oracle datasource
definition:
type: RDBMS
configuration:
jdbcUrl: 'jdbc:oracle:thin:@server_name:1521/instance_name'
username: user
password: password
driverClassName: oracle.jdbc.driver.OracleDriver
maxPoolSize: 50
idleTimeout: 60000
connectionTestQuery: SELECT 1
validationTimeout: 30000
isAutoCommit: false

When start the editor.sh show the Connection error.

[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$7(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$1.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)

The server works correctly I have remote and local connection.

Someone knows how I can configure it.

Thanks !

1

1 Answers

1
votes

Could you check the following configuration for the Oracle database?

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

Important Notes:

  • There are two ways to set this up. If you have a SID, use this (older) format:

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

  • If you have an Oracle service name, use this (newer) format:

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

  • The Oracle driver need to be converted to OSGI(using jartobundle.sh) before put into SP_HOME/lib directory:

    e.g. sh SP_HOME/bin/jartobundle.sh ojdbc6.jar lib/