Reputation: 1
I am new to Python and Pyodbc. I try to connect an access database with below code but keep getting "[ODBC Microsoft Access Driver] Not a valid file name" error.
I tried to install Access Database Engine and using two backslashes instead of one in the database directory.
When I look at the ODBC data sources Microsoft Access Driver (*.mdb, *.accdb) seems to be installed. I tried It on another system with no luck.
import pyodbc
conn_str = (
r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
r'DBQ="C:\Users\PC\Desktop\testdatabase.accdb";'
)
cnxn = pyodbc.connect(conn_str)
crsr = cnxn.cursor()
for physical_properties in crsr.tables(tableType='TABLE'):
print(physical_properties.table_name)
Any help would be much appreciated. Thanks in advance.
Upvotes: 0
Views: 1177
Reputation: 123484
The filespec cannot have quotes around it. This fails
connection_string = (
r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
r'DBQ="C:\Users\Public\Database1.accdb";'
)
but this works
connection_string = (
r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
r'DBQ=C:\Users\Public\Database1.accdb;'
)
Upvotes: 1