Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connect to Oracle 18c/19c Autonomous databases through wallets #6912

Closed
xyu-r0nin- opened this issue Oct 3, 2019 · 13 comments
Closed

Connect to Oracle 18c/19c Autonomous databases through wallets #6912

xyu-r0nin- opened this issue Oct 3, 2019 · 13 comments

Comments

@xyu-r0nin-
Copy link

Is your feature request related to a problem? Please describe.
DBeaver does not currently support the creation of connections to 18c / 19c databases using Oracle wallets

Describe the solution you'd like
It would be great if DBeaver allows you to create connections to Oracle 18c and 19c databases using wallets or jks files:

Java Connectivity with Autonomous Database (ATP or ADW) using 19c and 18.3 JDBC

Describe alternatives you've considered
Implement the use of wallets or jks files

Additional context
This is how the connection is configured in SQL Developer 19.2:
imagen

This is the content of Wallet.zip
imagen

@xyu-r0nin- xyu-r0nin- changed the title Connect to Oracle 18c/19c databases in the cloud through wallets Connect to Oracle 18c/19c Autonomous databases in the cloud through wallets Oct 4, 2019
@xyu-r0nin- xyu-r0nin- changed the title Connect to Oracle 18c/19c Autonomous databases in the cloud through wallets Connect to Oracle 18c/19c Autonomous databases through wallets Oct 4, 2019
@serge-rider serge-rider added this to the 6.3.0 milestone Nov 18, 2019
@tati-kru tati-kru added this to Backlog in DBeaver board Nov 18, 2019
@serge-rider serge-rider moved this from Backlog to In Progress in DBeaver board Nov 23, 2019
@serge-rider serge-rider moved this from In Progress to Ready for QA in DBeaver board Nov 27, 2019
@serge-rider serge-rider moved this from Ready for QA to In Progress in DBeaver board Nov 27, 2019
@serge-rider serge-rider modified the milestones: 6.3.0, 6.3.1 Nov 28, 2019
@serge-rider serge-rider moved this from In Progress to Backlog in DBeaver board Dec 12, 2019
@serge-rider serge-rider modified the milestones: 6.3.1, 6.3.2 Dec 23, 2019
@serge-rider serge-rider modified the milestones: 6.3.2, 6.3.3 Jan 6, 2020
@tati-kru tati-kru removed this from Backlog in DBeaver board Jan 20, 2020
@serge-rider serge-rider modified the milestones: 6.3.3, 6.3.5 Jan 27, 2020
@serge-rider serge-rider added this to Backlog in DBeaver board Feb 7, 2020
@tati-kru tati-kru modified the milestones: 6.3.5, 7.0.2 Feb 17, 2020
@tati-kru tati-kru removed this from Backlog in DBeaver board Feb 17, 2020
@glima34
Copy link

glima34 commented Feb 17, 2020

FYI you can already connect using wallets, this is actually an old jdbc feature that is more common now because of the 18c/19c release and the Autonomus Cloud security arrangement.

All you need to do is use the 18c/19c drivers and configure the driver properties manually. In my case the property oracle.net.wallet_location, which I got from the ojdbc.properties file inside the wallet zip. Perhaps a gui wallet inclusion is needed, but if you need to connect to such databases as of now you can.

@tati-kru tati-kru modified the milestones: 7.0.2, 7.0.5 Mar 23, 2020
@tati-kru tati-kru removed this from the 7.0.5 milestone May 5, 2020
@jorgefloresesc
Copy link

@glima34 how do you achieved that? I'm still trying to figure out how to connect with dbeaver using wallet. I'm able to connect from toad but not form dbeaver

@xyu-r0nin-
Copy link
Author

xyu-r0nin- commented Aug 8, 2020

@glima34 how do you achieved that? I'm still trying to figure out how to connect with dbeaver using wallet. I'm able to connect from toad but not form dbeaver

imagen

@jorgefloresesc You just have to unzip the wallet and in "Connection settings" select "Custom" and write the url like this:

jdbc:oracle:thin:@?TNS_ADMIN=<path_to_unzipped_wallet>

For example: jdbc:oracle:thin:@myservice_tp?TNS_ADMIN=/app/config/wallets/WalletCloud

@jorgefloresesc
Copy link

@xyu-r0nin- Hi, thanks for your reply. This is what I'm getting using your example:
image

BTW, I'm using windows.

@xyu-r0nin-
Copy link
Author

@jorgefloresesc Are you sure the name of the service is OCIDWQ01

Open the file tnsnames.ora that is inside the wallet and see what are the names of the services:

imagen

@mindhub-jean
Copy link

@xyu-r0nin- Hi, thanks for your reply. This is what I'm getting using your example:
image

BTW, I'm using windows.

Man, i had the same problem. Make sure you are using driver version 18.3 instead of 12.2.0.1

thanks @xyu-r0nin- for the solution.. u rock !!

@xyu-r0nin-
Copy link
Author

@xyu-r0nin- Hi, thanks for your reply. This is what I'm getting using your example:
image
BTW, I'm using windows.

Man, i had the same problem. Make sure you are using driver version 18.3 instead of 12.2.0.1

thanks @xyu-r0nin- for the solution.. u rock !!

Hi @ mindhub-jean, I'm glad it worked for you.

I did several tests and I can confirm that this solution applies for ojdbc from version 18.3 to version 19.6. With 19.7 it doesn't work

@Dekshith
Copy link

Download jars from https://download.oracle.com/otn/utilities_drivers/jdbc/183/ojdbc8-full.tar.gz
and add those libraries for connection

image

@voltes-7777
Copy link

had a difficult time with the above suggestions but at least it showed me that there has to be a way since it worked for others.
this link about creating a database driver finally helped me

dbform link

but it's in Chinese characters so using google translate

dbform link translated

thanks to Kamus for writing that

@lukaseder
Copy link

lukaseder commented Jun 30, 2021

In case it helps anyone, I followed this tutorial: https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/connect-jdbc-thin-wallet.html

And had to manually specify the JDBC drivers and security libraries:

image

Alternatively, even better, add this dependency (once #13048 is resolved):

image

Which will download all the transitive dependencies:

image

@javierdiegof
Copy link

javierdiegof commented Oct 20, 2021

Facing the same problem as others here. I was able to make it work just for driver versions 19.3.0.0 and 19.6.0.0 (with either artifacts or downloading the folders from the Oracle site). I would expect it to work for any 19.* version if the database is Oracle 19c, right? (which it is in my case, btw)
I've noticed that, if I let DBeaver download the artifacts itself, then for the two versions that work, DBeaver finds the dependencies of the artifact, whereas for the versions that don't work, DBeaver just downloads the artifact by itself without the dependencies. So for example for artifact version 19.3.0.0:
Screenshot from 2021-10-20 18-30-46
Whereas for 19.7.0.0:
Screenshot from 2021-10-20 18-32-51
Could this be the source of the error? And if it is, what could be the reason for it to behave that way?
Thanks to everyone for your help :)

(Additional note: I found out a bit later on this Oracle article) that version 19.7.0.0 was the first one that did not include all of the dependencies inside the main maven file. There, it is claimed that changing the maven dependency from ojdbcn to ojdbcn-production should make the code equivalent since that new package contains all of the dependencies in it as it was distributed before).

@RWagner2021
Copy link

Is this supported in the DBeaver Community edition?

@javierdiegof
Copy link

Sure @RWagner2021, I'm working with DBeaver CE. Everything I have written applies to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests