首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyodbc和mySQL

pyodbc和mySQL
EN

Stack Overflow用户
提问于 2010-10-20 20:48:59
回答 6查看 43.1K关注 0票数 6

我无法使用pyodbc连接到mySQl db。

下面是我的脚本片段:

代码语言:javascript
复制
import pyodbc
import csv

cnxn = pyodbc.connect("DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost;DATABASE=mydb; UID=root; PASSWORD=thatwouldbetelling;") 
crsr = cnxn.cursor()

with open('C:\\skunkworks\\archive\\data\\myfile.csv','r') as myfile:
    rows = csv.reader(myfile, delimiter=',', quotechar='"')
    for row in rows:
        insert_str = 'INSERT into raw_data VALUES(something, something)'
        print insert_str
        #crsr.execute(insert_str)
    cnxn.commit()
    myfile.close()

我在pyodbc.connect()行中得到了这个错误:

pyodbc.Error:(‘no 002’,‘未找到IM002ODBC驱动程序管理器数据源名称,也没有指定默认驱动程序(0) (SQLDriverConnectW)')

关于这个错误(和一般的Python脚本),我还有另一个问题。当我以脚本的形式运行它时,它会悄悄地失败(我希望看到堆栈跟踪)。我必须手动键入每一行以查找错误发生的地方。

我现在有点懒(没有异常处理)--这是Python脚本的正常行为吗?

编辑

我没有使用mysqldb,因为我已经使用pyodbc从另一个源(MS )提取数据。好吧,这不是一个很好的理由--但我已经在和pyodbc做斗争了,我并不想为了“一次性”的工作而与另一个库/模块/包(不管它在Python中叫什么)搏斗。我只想将我的数据从Windows环境中的各种数据源移到Linux上的mySQl。一旦在Linux上,我将回到上。

整个剧本就在那儿。我刚刚将上面的代码保存到一个具有.py扩展名的文件中,并在命令行运行pythonmyscript.py。我正在我的XP机器上运行这个

EN

回答 6

Stack Overflow用户

发布于 2015-01-16 20:16:25

我也犯了同样的错误,所以我检查了所有用于连接的版本。这就是我发现的

对于Python2.7 32位:- pyodbc必须是32位- DB驱动程序必须是32位。(Microsoft Access也应该是32位)

对于那些使用64位版本的人。你应该检查一下,所有的东西都是64位。

在我的示例中,我试图连接到Oracle DB和Microsoft Access DB,因此必须使以下组件与体系结构版本匹配:

  • pyodbc (MS Access)
  • python
  • cx_Oracle (SQLalchemy的甲骨文方言)
  • Oracle实例化客户机basic (Oracle )不要忘记创建环境变量)
  • py2exe (制作可扩展的应用程序)
票数 3
EN

Stack Overflow用户

发布于 2016-11-02 05:44:06

这是你的司机名字对吗?

您可以在 Windows ->控制面板->系统和安全->管理工具-> ODBC数据源->驱动程序选项卡中检查您的驱动程序名,然后将河名复制到第一个参数

喜欢

代码语言:javascript
复制
cnxn = pyodbc.connect("DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=localhost;DATABASE=books; UID=root; PASSWORD=password;")

我的问题解决了

或者您可能不会安装驱动程序,而且步骤很简单。

票数 3
EN

Stack Overflow用户

发布于 2010-10-20 21:09:59

MySQLdb (或oursql)和pyodbc都有相同的接口(2),只是如果使用前者,就不需要处理ODBC的问题。我强烈建议您考虑使用MySQLdb (或oursql)代替。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3982174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档