какую версию драйвера MySQL использовать в Pyodbc

Я пытаюсь подключиться к серверу MYSQl db с помощью модуля pyodbc.

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 Workbench 6.2, и я не уверен, какую версию драйвера MySQL использовать.


person Pranay    schedule 05.12.2014    source источник


Ответы (2)


Эта конкретная ошибка не связана с драйвером, объект 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 есть полезный раздел начало работы.

Для получения дополнительной информации см. pyodbc выпуск 100, касающийся использования with.

person Bryan    schedule 05.12.2014
comment
Я попробовал то, что вы предложили, и я напечатал трассировку стека, это ошибка, которую я получил '('IM002', '[IM002] [Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено и драйвер по умолчанию не указан (0) '. Точная инструкция подключения, которую я использую, это cnxn= pyodbc.connect('DRIVER={MySQL Driver};SERVER=localhost;PORT=3306;DATABASE=ssc;UID=Pra;PWD=welcome;OPTION=3' ) - person Pranay; 05.12.2014
comment
@Pranay Теперь вы видите проблему с драйвером. Аналогичный вопрос здесь. - person Bryan; 05.12.2014

Почему бы вам не попробовать использовать драйвер MySQL для Python?

pip install MySQL-python
person FlipperPA    schedule 06.12.2014