Я пробовал множество примеров из Интернета, чтобы включить подключение MS Access к моему проекту Python без успеха
У меня есть проект Python в Eclipse с Anaconda, и мой код:
import win32com.client
import pyodbc
def ado():
'''
connect with com dispatch objs
'''
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = ('PROVIDER = Microsoft.Jet.OLEDB.4.0;DATA SOURCE = ' + db + ';')
conn.Open(DSN)
rs = win32com.client.Dispatch(r'ADODB.Recordset')
strsql = "select * from Empresas"
rs.Open(strsql, conn, 1, 3)
t = rs.GetRows()
conn.Close()
return t
def odbc():
'''
connects with odbc
'''
constr = 'Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=' + db
conn = pyodbc.connect(constr, autocommit=True)
cur = conn.cursor()
strsql = "select * from Empresas"
cur.execute(strsql)
t = list(cur)
conn.close()
return t
if __name__ == '__main__':
db = 'D:/EMP001/2018/example.mdb'
data1 = ado()
data2 = odbc()
С данными1 я получаю следующее сообщение:
pywintypes.com_error: (-2147352567, 'Ocurrió una excepción.', (0, 'ADODB.Connection', 'No se encontró el proofedor especificado. EsВозможная очередь не установлена. Установлено правильно. ',' C: \ WINDOWS \ HELP \ ADO270.CHM ', 1240655, -2146824582), Нет)
И с данными2 это одно:
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft] [Администратор управления контентом ODBC] Нет особых требований к данным и нет особых данных (0) (SQLDriverConnect)')
Есть идеи?