Я не могу подключиться к mySQl db с помощью pyodbc.
Вот фрагмент моего сценария:
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: ('IM002', '[IM002]
[Microsoft] [Диспетчер драйверов ODBC] Данные
имя источника не найдено и по умолчанию нет
указан драйвер (0)
(SQLDriverConnectW) ')
У меня есть еще один вопрос относительно этой ошибки (и сценариев Python в целом). Когда я запускаю это как скрипт, он молча завершается неудачей (я ожидал трассировки стека). Я должен ввести каждую строку вручную, чтобы найти, где произошла ошибка.
Сейчас я немного ленив (без обработки исключений) - это нормальное поведение скрипта Python без обработки исключений, чтобы молча терпеть неудачу?
[Изменить]
Я не использую mysqldb, потому что я уже использую pyodbc для извлечения моих данных из другого источника (MS Access). Ладно, не очень хорошая причина - но я уже борюсь с pyodbc, и мне не очень хочется бороться с другой библиотекой / модулем / пакетом (как бы он ни назывался в Python) для работы «один раз». Я просто хочу переместить мои данные из различных источников данных в среде Windows в mySQl в Linux. Однажды в Linux я вернусь на Terra Firma.
Вот и весь «сценарий». Я просто сохранил приведенный выше код в файл с расширением .py и запускаю python myscript.py в командной строке. Я запускаю это на своей машине XP