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

Add ability to dynamically load an RDBC driver #9

Open
andygrove opened this issue Dec 17, 2019 · 5 comments
Open

Add ability to dynamically load an RDBC driver #9

andygrove opened this issue Dec 17, 2019 · 5 comments

Comments

@andygrove
Copy link
Contributor

Currently, it is necessary to statically link to all possible RDBC driver implementations that need to be used at runtime but one of the main benefits of ODBC/JDBC is that new drivers can be loaded at runtime, so we need a similar mechanism here.

@KenSuenobu
Copy link

Would this be a subclass, or would this be something like libdl that implements dynamic loading of shared libs? I'm not sure if this is supported in Rust, but it's a possible solution. I would think that if the drivers are lightweight enough, they can all be compiled into a single runtime?

@andygrove
Copy link
Contributor Author

andygrove commented Dec 19, 2019

It would need to be dynamic loading of shared libs so that a user can use any driver with a product without having to have a version of the product that is compiled against the driver they want to use.

@95th
Copy link
Contributor

95th commented Dec 26, 2019

Does anyone really load JDBC drivers at runtime in practice? I always thought that was an obscure thing to do.

@andygrove
Copy link
Contributor Author

Actually, this is very common in desktop products where the user can add new JDBC drivers through the user interface without the need to restart the application.

@95th
Copy link
Contributor

95th commented Dec 27, 2019

I see... Like crystal reports

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

No branches or pull requests

3 participants