1

Собственно код на питоне:

conn = False
error = ""
db_file = u"C:\\Users\\Pavel\\Favorites\\base.accdb"
odbc_conn_str = u"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};CharSet='cp1251';DBQ="+db_file+u";"
try:
    conn = pypyodbc.connect(odbc_conn_str)
except:
    error = str(sys.exc_info())



if not conn:
    print u"Error: " + error
    return -2

В консоли пишет ошибку:

Error: (< class 'pypyodbc.Error'>, Error(u'IM002', u'[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified'), < traceback object at 0x028F58A0>)

Гугление на тему Data source name not found and no default driver specified привело к топику: https://stackoverflow.com/questions/16280304/pyodbc-data-source-name-not-found-and-no-default-driver-specified Не понятно, как всё это дело работает в Виднде.

У меня x64 Windows 8. Открыл C:\Windows\System32\odbcad32.exe. User DNS вроде настроен: есть Microsoft Access Driver (*.mdb, *.accdb)(скрин).

System DNS и File DNS пустые.

Что мне делать чтобы подключится?

1 ответ 1

1

В Windows 64x bit, 2 типа ODBC драйверов, 32 и 64 битные. И две разных панели. По умолчанию открывается 64х битная, но можно найти и вторую

Если Питон 32х битный, то он видит только 32х битные драйвера. Если Питон 64х битный, то он видит только 64х битные драйвера.

Поэтому либо устанавливать нужные драйвера, либо нужную версию Питона.

1
  • Добавлю, что в Win64 по пути %windir%\System32\ находятся именно х64 драйвера, а х32, в %windir%\SysWOW64\
    – Vitalts
    12 ноя 2015 в 12:29

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.