2016-01-04 4 views
1

Я использую Python 2.7.8 32-битную назвать MS Access 2007.Python подключения ошибка о Access

Ниже код я использую:

import sys 
import pypyodbc 
import os 
import pyodbc 

conn = pyodbc.connect(r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=D:\Access\Geocoding.accdb;") 
cnxn = pyodbc.connect(conn) 

Я получаю сообщение об ошибке:

Traceback (последний последний звонок): Файл «D: \ Access \ get_Access.py», строка 13, в conn = pyodbc.connect (r "DRIVER = {Microsoft Access Driver (* .mdb, * .accdb)}; Dbq = D: \ Access \ Geocoding.accdb; ") Ошибка: ('IM002', '[IM002] [Mic rosoft] [ODBC Driver Manager] Имя источника данных не найдено и не указан указанный по умолчанию драйвер (0) (SQLDriverConnect) ')

Я искал в Интернете какое-то время и не смог найти что-то не так с кодом.

+0

Возможный дубликат базы данных [Подключение к MS Access 2007 (.accdb) с помощью pyodbc] (http://stackoverflow.com/questions/6396429/connecting-to-ms-access-2007-accdb-database-using-pyodbc) – tinySandy

+0

, если я только запускал первую строку кода, он дает то же сообщение об ошибке. – Jen

+0

Я пробовал решение в базе данных для подключения к MS Access 2007 (.accdb) с помощью pyopbc, это не решает проблему. – Jen

ответ

-2

Попробуйте использовать двойную косую черту вместо косой черты в вашем пути к db. И писать DBQ все прописные

Ваш путь должен быть что-то вроде этого:

DBQ=D:\\Access\\Geocoding.accdb; 
+0

ОП использует [необработанную строку] (https://docs.python.org/2/reference/lexical_analysis.html#string-literals), 'r', литерал, который мог бы избежать одиночной косой черты. – Parfait

+0

Я изменился на двойную косую черту и попытался как с, так и без «r», все еще не работая. выдают те же ошибки: Файл «D: \ Access \ get_Access.py», строка 16, в conn = pyodbc.connect (r "DRIVER = {Microsoft Access Driver (* .mdb, * .accdb)}; DBQ = D : \\ Access \\ Geocoding.accdb; ") Ошибка: ('IM002', '[IM002] [Microsoft] [Менеджер драйверов ODBC] Имя источника данных не найдено и не указан по умолчанию драйвер (0) (SQLDriverConnect)') – Jen

0

Я решил проблему. База данных Access создана в Access 2013. Я пытаюсь использовать Python для ее подключения в Access 2007, и это проблема.

Я создал базу данных Access 2007 и скопировал все данные в нее. Python может подключиться к нему без проблем.

+0

Это не причина, * .accdb * файлы - это типы файлов Access 2007-2013. Между этими годами нет различия. – Parfait

+0

Да, это не должно быть причиной. Но я могу использовать тот же код для подключения базы данных Access, созданной в Access 2007. – Jen

+0

Итак, у вас есть две установки MS Access на вашем компьютере: 2007 и 2013? Надеюсь, вы не путаете Access 2003 и более ранние типы файлов, которые используют расширения '.mdb'. – Parfait

Смежные вопросы