Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 到mdb文件的pyodbc连接_Ms Access_Pyodbc - Fatal编程技术网

Ms access 到mdb文件的pyodbc连接

Ms access 到mdb文件的pyodbc连接,ms-access,pyodbc,Ms Access,Pyodbc,我正在尝试将pyodbc连接到mdb文件。我搜索了这个网站,尝试了很多东西,但都没有成功。下面是我的系统概述 Windows 7终极服务包1 64操作系统 安装在C:\Python34\中的Python 3.4.0使用Python-3.4.0.amd64.msi安装 使用pyodbc-3.0.7.win-amd64-py3.4.exe安装pyodbc 3.0.7 已安装AccessDatabaseEngine.exe 14.0.6119.5000 MS 2007办公系统驱动程序 控制面板\所有控

我正在尝试将pyodbc连接到mdb文件。我搜索了这个网站,尝试了很多东西,但都没有成功。下面是我的系统概述

Windows 7终极服务包1
64操作系统
安装在C:\Python34\中的Python 3.4.0使用Python-3.4.0.amd64.msi安装
使用pyodbc-3.0.7.win-amd64-py3.4.exe安装pyodbc 3.0.7
已安装AccessDatabaseEngine.exe 14.0.6119.5000 MS 2007办公系统驱动程序
控制面板\所有控制面板项目\管理工具数据源(ODBC)设置为%windir%\SysWOW64\odbcad32.exe
Microsoft Access驱动程序(*.mdb,*.accdb)的“我的用户配置文件”注册表中的权限设置为“完全”

我使用的代码是:
导入csv、pyodbc
conn=pyodbc.connect('Driver={Microsoft Access驱动程序(*.mdb,*.accdb)};Dbq=c:\MDBTest\MyTestMdb.mdb;'))

我使用大量代码变体继续得到的错误是:
conn=pyodbc.connect('Driver={Microsoft Access驱动程序(*.mdb,*.accdb)};Dbq=c:\MDBTest\MyTestMdb.mdb;'))
pyodbc.Error:('IM002','[IM002][Microsoft][ODBC驱动程序管理器]未找到数据源名称,并且未指定默认驱动程序(0)(SQLDriverConnect)')


提前感谢您的帮助。

您使用的是64位版本的Python,但已安装32位版本的Access数据库引擎。你要么需要

  • 运行32位版本的Python,或
  • 删除32位版本的Access数据库引擎,然后安装64位版本(可用)

非常感谢Gord。我认为我不能用32位Office运行64位引擎,所以我卸载了Python和PYODBC,并安装了它们的32位版本。代码运行良好。再次感谢!!谢谢你,戈德!Windows 10 x64控制面板显示安装了32位和64位odbc驱动程序,但我得到了相同的IM002错误。安装32位Python、VisualStudioC++生成工具,然后修复PyoBoc问题。(pyodbc无需使用64位Python编译即可安装。)现在我只需要修复[42000]编程错误:-)。