Designer can not find class: oracle.jdbc.driver.OracleDriver

Discussion on developing CloverETL engine, transformation components etc.

jonjlee
Posts: 6
Joined: Fri Dec 16, 2011 4:04 pm

Designer can not find class: oracle.jdbc.driver.OracleDriver

Postby jonjlee » Fri Dec 16, 2011 4:44 pm

Hello,

I am using CloverETL Designer 3.0.2 and I am getting the following problems reported in Eclipse when I open my graph:

"Cannot create JDBC driver 'oracle.jdbc.driver.OracleDriver'. Can not find class: oracle.jdbc.driver.OracleDriver"
"org.jetel.exception.JetelException: Cannot establish DB connection (clover). caused by: org.jetel.exception.JetelException: JDBC driver couldn't be obtained"

When I run the graph within Eclipse, the graph runs fine and is able to open the appropriate database connection.

My workspace.prm contains:

PROJECT= .
CONN_DIR=${PROJECT}/conn

The DB connection is specified in the graph as:

<Global>
...
<Connection dbConfig="${CONN_DIR}/clover.cfg" id="JDBC0" type="JDBC"/>
<Property fileURL="workspace.prm" id="GraphParameter41"/>
</Global>

and conn/clover.cfg contains:

passwordEncrypted=false
name=clover
threadSafeConnection=true
dbDriver=oracle.jdbc.driver.OracleDriver
dbURL=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<my.db.host.com>)(PORT=<db-port>))(LOAD_BALANCE=YES)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<my.db.service.name>)(ENABLE=BROKEN)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))
user=<my-db-username>
jndiName=
password=<my-db-password>
jdbcSpecific=ORACLE

Do you know I can get the CloverETL designer plugin to find the appropriate DB driver?

jurban
Posts: 162
Joined: Fri Jul 20, 2007 9:25 am

Re: Designer can not find class: oracle.jdbc.driver.OracleDriver

Postby jurban » Tue Dec 20, 2011 2:06 pm

Hi,

didn't this start to appear after you used the "use alternate plugins location" option from your other forum post?

Best regards,
Jaro
Jaroslav Urban
CloverCARE Support
CloverETL | Rapid Data Integration

Visit us online at http://www.cloveretl.com

jonjlee
Posts: 6
Joined: Fri Dec 16, 2011 4:04 pm

Re: Designer can not find class: oracle.jdbc.driver.OracleDriver

Postby jonjlee » Tue Jan 03, 2012 3:57 pm

Hi Jaro,

Sorry for the delayed response. No, this problem appears whether or not I specify an alternate plugins location.

Jonathan

jurban
Posts: 162
Joined: Fri Jul 20, 2007 9:25 am

Re: Designer can not find class: oracle.jdbc.driver.OracleDriver

Postby jurban » Wed Jan 04, 2012 2:31 pm

Hi Jonathan,

can you try just using "database=ORACLE" instead of "dbDriver=oracle.jdbc.driver.OracleDriver" in the connection cfg file? This will make the Designer use its built-in Oracle JDBC driver. Overall, the configuration of the connection could look something like the attached screenshot. This is an example of the connection file content:

user=sample
jdbcSpecific=ORACLE
password=sample
name=oracle
passwordEncrypted=false
threadSafeConnection=true
database=ORACLE
dbURL=jdbc\:oracle\:thin\:@some_hostname\:1521\:some_database

From the contents of your connection cfg file I'm suspecting you're not using the built in Oracle driver and maybe trying an external one?

Regards,
Jaro
Attachments
oracle connection.png
oracle connection.png (60.44 KiB) Viewed 3453 times
Jaroslav Urban
CloverCARE Support
CloverETL | Rapid Data Integration

Visit us online at http://www.cloveretl.com

jonjlee
Posts: 6
Joined: Fri Dec 16, 2011 4:04 pm

Re: Designer can not find class: oracle.jdbc.driver.OracleDriver

Postby jonjlee » Wed Jan 04, 2012 5:10 pm

I am not using a custom Oracle JDBC driver. After removing the dbDriver property and replacing it with "database=ORACLE", the error in the Problems window disappears. Thanks for pointing that out!

Out of curiosity, though, shouldn't I be able use the "dbDriver" property instead of the "database" property? The clover engine understands it since I can run the graph -- only the Designer reports that error.

jurban
Posts: 162
Joined: Fri Jul 20, 2007 9:25 am

Re: Designer can not find class: oracle.jdbc.driver.OracleDriver

Postby jurban » Thu Jan 05, 2012 10:43 am

Hi Jonathan,

I'm not sure why the dbDriver property doesn't work for you - the driver should be on classpath of Designer. I just quickly tried it, and it work in my setup. Luckily using database property works for you.

Regards,
Jaro
Jaroslav Urban
CloverCARE Support
CloverETL | Rapid Data Integration

Visit us online at http://www.cloveretl.com