使用 pyodbc 模块的连接字符串不适用于 Enthought Python Distribution
Posted
技术标签:
【中文标题】使用 pyodbc 模块的连接字符串不适用于 Enthought Python Distribution【英文标题】:Connection strings using pyodbc module not working with Enthought Python Distribution 【发布时间】:2013-03-11 23:05:54 【问题描述】:背景
我一直在使用 64 位版本的 Python 2.7.3。我想学习 matplotlib 和 numpy 库,所以我最终安装了适用于 Windows 的 Enthought Python Distribution,并且我还安装了 ipython 以配合它。现在,突然之间,以前工作的连接字符串不再与这个 Python 发行版中的 pyodbc 库一起工作,我不知道为什么。
示例
以下代码之前运行良好:
import pyodbc
dbFile = r'D:\Dropbox\School\Senior_Project\Database\HarmonicProfileDatabase_be.accdb'
cnxn = pyodbc.connect(r'DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ='+dbFile)
但现在返回以下错误:
Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
这些事情让学习编程变得如此令人沮丧,但我离想出一个我一直在努力放弃的项目的解决方案太近了。
【问题讨论】:
不确定这个问题的答案是否有帮助:***.com/q/6396429/42346 嗯...这可能就是问题所在。 Enthought 安装是 32 位的,但我实际上运行的是 64 位 Office。我将在我的桌面上安装 Python,看看我是否有同样的问题,但我需要这个才能在我的笔记本电脑上工作! 问题是我的office是64位安装的。我刚刚在我的桌面上试了一下,效果很好。谢谢你让我头疼,因为我完全忘记了我有 64 位办公室。如果你愿意,你可以把它作为答案。有什么建议可以让它在我的笔记本电脑上工作吗?因为没有免费的 64 位 Enthought 安装。 【参考方案1】:问题是我使用的 Python(以及 pyodbc)版本是 32 位的。但是,我设法让自己获得了 64 位版本的 office。它们都需要是 32 位(或都是 64 位)才能正常工作。
【讨论】:
以上是关于使用 pyodbc 模块的连接字符串不适用于 Enthought Python Distribution的主要内容,如果未能解决你的问题,请参考以下文章
SqlAlchemy 等效于使用 FreeTDS 的 pyodbc 连接字符串