Python使用pypyodbc连接到Access数据库:未指定默认驱动程序

时间:2018-04-03 20:12:32

标签: python python-3.x ms-access pypyodbc

我试图将一个非常简单的Access文件中的数据转换为python代码。我按照此视频中的说明进行操作:https://www.youtube.com/watch?v=zw9P2wSnoIo

我的代码如下:

import pypyodbc

con=pypyodbc.connect('DRIVER={Microsoft Access Driver(*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;{FIL=MS Access};DriverId=25;{DefaultDir=C:/Users/climate1/Documents/Test};DBQ=C:/Users/climate1/Documents/Test/dogs1.mdb;')
cursor=con.cursor()
cursor.execute("SELECT * FROM doggos")

for row in cursor,fetchall():
     print(row)

但它似乎无法找到正确的驱动程序,我收到此错误:

  

文件" doggos.py",第5行,in       con = pypyodbc.connect(' DRIVER = {Microsoft Access Driver(* .mdb)}; UID = admin; UserCommitSync = Yes; Threads = 3; SafeTransactions = 0; PageTimeout = 5; MaxScanRows = 8; MaxBufferSize = 2048 ; {FIL = MS Access}; DriverId = 25; {DefaultDir = C:/ Users / climate1 / Documents / Test}; DBQ = C:/Users/climate1/Documents/Test/dogs1.mdb;')     文件" C:\ Users \ climate1 \ Documents \ SaraCode \ lib \ site-packages \ pypyodbc.py",第2454行, init       self.connect(connectString,autocommit,ansi,timeout,unicode_results,readonly)     文件" C:\ Users \ climate1 \ Documents \ SaraCode \ lib \ site-packages \ pypyodbc.py",第2507行,在连接中       check_success(self,ret)     文件" C:\ Users \ climate1 \ Documents \ SaraCode \ lib \ site-packages \ pypyodbc.py",第1009行,在check_success中       ctrl_err(SQL_HANDLE_DBC,ODBC_obj.dbc_h,ret,ODBC_obj.ansi)     文件" C:\ Users \ climate1 \ Documents \ SaraCode \ lib \ site-packages \ pypyodbc.py",第985行,在ctrl_err中       提出错误(state,err_text)   pypyodbc.Error:(' IM002',' [IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序')

我不是python的新手,但我对Windows和Access都很新。我正在使用python版本3.6.3并使用pip install下载了pypyodbc。

我尝试过在32位和64位之间返回第四位,并且还使用了一些基本的语法内容(正斜杠与反斜杠等)

1 个答案:

答案 0 :(得分:0)

ODBC对驱动程序名称很挑剔,而且你的驱动程序名称缺少一个空格。

DRIVER={Microsoft Access Driver(*.mdb)}

不正确。它必须是

DRIVER={Microsoft Access Driver (*.mdb)}

假设您使用的是32位Python。