相关疑难解决方法(0)

使用pyodbc连接到MS Access 2007(.accdb)数据库

我在Win7 x64上,使用Python 2.7.1 x64.我正在将我在VC++中创建的应用程序移植到Python中,用于教育目的.
使用以下连接字符串连接到MS Access 2007格式DB文件时,原始应用程序没有问题:
OleDbConnection^ conn = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|DB.accdb");
现在,当我尝试使用pyodbc和以下连接到Python中的同一个DB文件(放入C:\这次)时conenction字符串:
conn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\DB.accdb;")
,也不管我是否保留OLEDB提供商或我使用Provider=MSDASQL;提到这里(MS提到它不是availiable 64位),我不断收到以下错误:

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnectW)')

什么可能导致这个问题?

ADD:我已经更仔细地研究了pyodbc文档并尝试了conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=c:\\DB.accdb;")- 同样的错误.这真的很奇怪,因为pyodbc.dataSources()表明我有这个提供者.

ADD2:我想win32com.client使用如这里为了使用OLE DB连接-没有成功.似乎这是不可能的,没有任何作用.

python 64-bit ms-access pyodbc

9
推荐指数
1
解决办法
2万
查看次数

"使用Access ODBC找不到数据源名称且未指定默认驱动程序"

我的软件:

  • Python 3.4 -64位
  • PyODBC 64位
  • MS office软件包安装(32位)

问题:

现在,我尝试使用PYODBC访问计算机中安装的MS Access 2010.无论我尝试什么,它都不起作用.我的错误总是如此:

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)

我已经看过了:

pyodbc和ms访问2010连接错误

无法使用pyodbc连接到Access DB

建议它是32-64位问题,我相信它是.是否有一些修改可以使其工作,而无需安装32位python和32位pyodbc?我查了一下这个网站.在64位Windows上使用ODBC(32位和64位),说明如何访问控制面板以修改ODBC连接和/或驱动程序.但是,我不太了解Windows数据库连接内部开始一些更改.

我能做些什么才能让它发挥作用?

python ms-access odbc pyodbc

7
推荐指数
1
解决办法
1315
查看次数

如何将pyodbc连接到Access(.mdb)数据库文件

这是我尝试过的:

- 通过搜索找到Vista的ODBC数据源管理器*

- 添加新的文件数据源*,选择Microsoft Access驱动程序(*.mdb),并选择我感兴趣的mdb文件,

- 从python shell导入pyodbc并尝试:

pyodbc.connect("DSN=<that Data Source I just created>")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息(葡萄牙语**):

Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Nome da fonte de dados n\xe3o encontrado e nenhum driver padr\xe3o especificado (0) (SQLDriverConnectW)') 
Run Code Online (Sandbox Code Playgroud)

其中翻译为"未找到数据源名称且未指定标准驱动程序".

我究竟做错了什么?怎么做对吗?此外,我在网上搜索文档,但没有发现什么值得,有人可以推荐任何文档吗?

*名称可能不完全准确,因为我的Windows是葡萄牙语.

**不,葡萄牙语没有'3'和'\'作为字母,这些都是错误印刷的特殊字符

database ms-access odbc pyodbc windows-vista

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

ms-access ×3

pyodbc ×3

odbc ×2

python ×2

64-bit ×1

database ×1

windows-vista ×1