OHDSI Home | Forums | Wiki | Github

WhiteRabbit Oracle Service Name

Hello all, my apologies if this is the wrong place to post this question.

I am having issues connecting WhiteRabbit to Oracle, I get the following errors:
Could not connect: Cannot connect to DB server:
-When using OCI: no ocijdbc11 in java.library.path
-When using THIN: IO Error: Invalid connection String format, a valid format is: “host:port:sid”

Not sure if the problem is that we mainly use Service Name and not SID

Is there something I need to add to the parameters in order to make this work?

Thanks in advance.

Hi Emanuel,

Could you provide more information on how you are trying to connect? Are you trying to use THIN or OCI? What is the “Server location” you are providing?

For Oracle servers the “Server location” field contains the SID, servicename, and optionally the port: ‘/’, ‘:/’, ‘/’, or ‘:/’

I am just running the latest release of WhiteRabbit (5.16) using the WhiteRabbit.jar file, I am on a mac computer, so not sure how I can tell what is trying to use:
The server location looks like this:
my_server.uthsc.edu:1521/my_service_name.uthsc.edu

I have other connections that work, but this use SIDs not Service names and to connect to those, successfully using White Rabbit I do:
my_server.uthsc.edu:1521/my_SID

So my guess is just that I have to add something to the string to tell it that is a Service Name and not an SID, but I am not sure what.

Thanks

So…

I called our DBA, told him the issue and he did something to the Oracle Instance that now everything is working fine.

Not sure what h did though, but I had to do with how the Instance/User setup is done.

Thought on letting you guys know.

Thanks.

Hello,
I had the same problem.
When using a Service Name instead of a SID it does not work.

I had to modify the source code.

Here is what I did and worked for me :

  1. Download the source code zip and unzip it : https://github.com/OHDSI/WhiteRabbit
  2. In Eclipse, go to File>Import>Existing Maven Project, and select the folder “rabbit-core”
  3. Open DBConnector.java (in the package org.ohdsi.databases)
  4. Modify this line :
    ods.setURL(“jdbc:oracle:thin:@” + host + “:” + port + “:” + sid);
    to
    ods.setURL(“jdbc:oracle:thin:@” + host + “:” + port + “/” + sid);
  5. Right-click on rabbit-core, Run as>Maven Install
  6. Take the rabbit-core-0.10.2.jar located in WhiteRabbit-master>rabbit-core>target
  7. Open your folder WhiteRabbit_v0.10.2 (which contains the whiterabbit.bat), go to repo>org>ohdsi>rabbit-core>0.10.2
  8. Replace the jar in this folder with the one generated by Eclipse
  9. Launch whiterabbit.bat
  10. Fill the field Server location in this format : host:port/service_name

Then it should work.

1 Like

Do other people have issues connecting to Oracle from WhiteRabbit? Does @zainoul’s fix need to be changed in the tool?

Tagging @schuemie & @MaximMoinat

I put in an issue about Oracle not handling the Service Name correctly. https://github.com/OHDSI/WhiteRabbit/issues/295. I did find that for, leaving off the service name allowed me to connect to the Oracle database.

t