Epi*_*Adv 4 python ms-access odbc
我在Windows 8.1 64位计算机上运行python 2.7 32位.
我有Access 2013和我试图从python和pyodbc访问的.accdb文件.
我可以在64位ODBC管理器中创建64位DSN.但是,当我尝试从python连接到它时,我收到错误:
错误:(u'IM002',u'[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序')
据推测,python只是在寻找32位DSN,并没有找到我创建的64位DSN.
当我尝试在32位ODBC管理器中创建32位DSN时,没有accdb文件的驱动程序(只是.mdb).
我想我需要一个32位ODBC驱动程序用于Access 2013文件(.accdb),但一直无法找到.
有可能做我想做的事吗? - 32位python访问Access 2013 .accdb文件?
包括Python在内的32位应用程序只能使用32位ODBC驱动程序.
包括Python在内的64位应用程序只能使用64位ODBC驱动程序.
如果你有:
pyodbc模块的32位Python然后你必须改变一些东西:
odbc模块的Active Python ),然后就可以使用64位版本的pyodbc模块(我看到它适用于Python 2.6,2.7和3.3)使用pyodbc.dataSources()您可以列出ODBC源:
sources = pyodbc.dataSources()
dsns = list(sources.keys())
dsns.sort()
sl = []
for dsn in dsns:
sl.append('%s [%s]' % (dsn, sources[dsn]))
print('\n'.join(sl))
Run Code Online (Sandbox Code Playgroud)
如果您使用ActiveState Python,那么您可以使用odbc我的食谱中的模块列出它们:http://code.activestate.com/recipes/578782-printing-list-of-odbc-data-sources/? in = user-186902
小智 5
我有同样的问题.对我来说,问题是我有32个python和32位pyodbc和32位MS Access.但是我创建的pyqt应用程序不能在64位Access的计算机上运行.
我的解决方案是 在命令提示符下安装32位Access驱动程序(如Mikal所述)... http://www.microsoft.com/en-us/download/details.aspx?id=13255 "/被动"选项.否则,它将无法安装.
例如,C:\ Downloads\AccessDatabaseEngine.exe/passive安装了驱动程序,现在我的应用程序在主机上运行没有问题.
安装的32位和64位Access驱动程序可能存在问题,也可能没有问题.到目前为止,我还没有看到任何.
| 归档时间: |
|
| 查看次数: |
8660 次 |
| 最近记录: |