I am trying to write a generic database connector class in python. For this I want to first check what drivers are installed on the machine and throw an error if the required drivers are missing in the machine.
Is there a way to do this in python?
I am trying to write a generic database connector class in python. For this I want to first check what drivers are installed on the machine and throw an error if the required drivers are missing in the machine.
Is there a way to do this in python?
pyodbc
has a method which returns a list of installed ODBC drivers. Granted, it's just a list of the driver names, so it's a bit fiddly getting to the most current driver, but hopefully this will help.
I use regex (via the built-in re
module) to filter down to the driver I need.
import pyodbc
pyodbc.drivers()
The output provides a list of installed ODBC drivers.
There's nothing built into Python that will allow you to do this, except maybe doing something really ugly with ctypes and I'm not sure if that will work. However, you can probably do it with Tim Golden's wmi.py module.
I've found examples of using WMI to find regular drivers:
So you would probably have to filter the list somehow.