bengitaysun
bengitaysun

Reputation: 1

"[ODBC Microsoft Access Driver] Not a valid file name"

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

Answers (1)

Gord Thompson
Gord Thompson

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

Related Questions