【问题标题】:which version of MySQL driver to use in Pyodbc在 Pyodbc 中使用哪个版本的 MySQL 驱动程序
【发布时间】:2015-02-03 15:19:18
【问题描述】:

我正在尝试使用 pyodbc 模块连接到 MYSQl db Server。

with pyodbc.connect('DRIVER={MySQL ODBC 5.6 Driver};SERVER=XX.XX.X.XX;PORT=3306;DATABASE=ssc;UID=Pra;PASSWORD=welcome;') as cnxn:

    cursor = cnxn.cursor()
    cursor.execute('insert into ....')

当我在 python 中运行上述代码时,我遇到了一个错误'在赋值之前引用局部变量'cnxn''我正在使用 MySQL 工作台 6.2,但我不确定 MySQL 驱动程序的版本使用。

【问题讨论】:

    标签: python mysql pyodbc


    【解决方案1】:

    此特定错误不是驱动程序的问题,cnxn 对象从未创建。

    将您的代码更改为:

    cnxn = pyodbc.connect('DRIVER={MySQL ODBC 5.6 Driver};SERVER=XX.XX.X.XX;PORT=3306;DATABASE=ssc;UID=Pra;PASSWORD=welcome;')
    cursor = cnxn.cursor()
    cursor.execute('insert into ....')
    

    pyodbc wiki 有一个有用的 getting started 部分。

    如需进一步阅读,请参阅 pyodbc issue 100 关于 with 的使用。

    【讨论】:

    • 我尝试了您的建议并打印了堆栈跟踪这是我得到的错误 '('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found并且没有指定默认驱动程序 (0) '。我使用的确切连接语句是 cnxn= pyodbc.connect('DRIVER={MySQL Driver};SERVER=localhost;PORT=3306;DATABASE=ssc;UID=Pra; PWD=welcome;OPTION=3')
    • @Pranay 现在您看到了驱动程序问题。类似问题here.
    【解决方案2】:

    您为什么不尝试使用适用于 Python 的 MySQL 驱动程序?

    pip install MySQL-python
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多