I am unable to open an access database using python. Below is the code and the error message. I even tried going to control panel checking where the path of the odbc file is pointing to. It shows up in the correct path. %windir%\syswow64\odbcad32.exe
not sure how to avoid this message, The below code also shows the drivers that are available.
import pyodbc
def show_odbc_sources():
sl = []
source = odbc.SQLDataSources(odbc.SQL_FETCH_FIRST)
while source:
dsn, driver = source
sl.append('%s [%s]' % (dsn, driver))
source = odbc.SQLDataSources(odbc.SQL_FETCH_NEXT)
sl.sort()
print('\n'.join(sl))
if __name__ == '__main__':
show_odbc_sources()
conn = pyodbc.connect(r'driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\username\\Desktop\\E CX DB.accdb;')
cursor = conn.cursor()
Errors That i get:
Excel Files [Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)]
MS Access Database [Microsoft Access Driver (*.mdb, *.accdb)]
Sample Amazon Redshift DSN [Amazon Redshift (x64)]
---------------------------------------------------------------------------
InterfaceError Traceback (most recent call last)
<ipython-input-12-816aa9101ab7> in <module>()
16 show_odbc_sources()
17
---> 18 conn = pyodbc.connect(r'driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\username\\Desktop\\E CX DB.accdb;')
19 cursor = conn.cursor()
InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')