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

[Feature Request]: When making rdbms connections, show signal of driver install/not give option to download #2488

Open
usbrandon opened this issue Feb 28, 2023 · 7 comments

Comments

@usbrandon
Copy link
Contributor

What would you like to happen?

When creating a new database connection, we should show a marker indicating the presence of the required driver to connect or not. No need to wait for them to try to connect to get a stacktrace.

Much like DBeaver, we can give folks a dialog that allows them to download the driver to the appropriate location for the database selected.

Example: Driver detected after selecting from the database type list.
image

Example: Driver not detected. Provide a download button and dialog to guide downloading the new driver. Se DBeaver that does this well.

image

Issue Priority

Priority: 3

Issue Component

Component: Database

@usbrandon
Copy link
Contributor Author

They download the drivers from Maven. https://dbeaver.com/docs/wiki/Database-drivers/

@hansva
Copy link
Contributor

hansva commented Mar 1, 2023

thanks for the extra information @usbrandon !

nadment added a commit to nadment/hop that referenced this issue Mar 1, 2023
…2488.

Don't work for Derby
Doris and MySql need to be saved first with a selected database type
nadment added a commit to nadment/hop that referenced this issue Mar 1, 2023
…2488.

Don't work for Derby
Doris and MySql need to be saved first with a selected database type
nadment added a commit to nadment/hop that referenced this issue Mar 1, 2023
…2488.

Don't work for Derby
Doris and MySql need to be saved first with a selected database type
@usbrandon
Copy link
Contributor Author

usbrandon commented Mar 2, 2023

This short page of documentation explains exactly how they use Maven artifacts to power downloading the drivers to the desired location to make them work. It is very streamlined.
https://github.com/dbeaver/cloudbeaver/wiki/Adding-new-database-drivers

They have an XML file with a URL like this:


<file type="jar" path="maven:/org.postgresql:postgresql:RELEASE[42.2.25]" bundle="!drivers.postgresql"/>
                    <file type="jar" path="drivers/postgresql" bundle="drivers.postgresql"/>

Is there a java library that hop could use to resolve the maven location and download the jar to whatever relevant database plugin lib folder?

nadment added a commit to nadment/hop that referenced this issue Mar 6, 2023
…2488.

Don't work for Derby, but seems to be a problem with the Derby driver
hansva added a commit that referenced this issue Mar 7, 2023
Show if a JDBC driver is install and eventually which version #2488
@hansva
Copy link
Contributor

hansva commented Mar 7, 2023

First part has been added now, "Show if a driver is present"
@nadment, will you handle the downloading of drivers ? Probably it should be able to download a list of jars as some drivers require more than one file. Or should I do that?

@nadment
Copy link
Contributor

nadment commented Mar 7, 2023

This is not an easy task to download drivers files

  • some drivers have several files (sometimes optional)
  • some with a DLL depending on the architecture (x86, x86_64...)
  • manage the proxy
  • a lot of Maven references to keep up to date.

Using DBeaver I don't always find it practical and obvious, the manuel installation often seems to be easier

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

3 participants