pyodbc + MySQL + Windows: nome da fonte de dados não encontrado e nenhum driver padrão especificado
Estou tentando conectar ao MySQL 5.6 em um host local do Windows Server 2008 R2 com pyodbc. Eu usei a instalação completa para a instância do MySQL no host local, incluindo o conector ODBC. Eu tenho isso conectando-se a uma instância remota do SQL Server lindamente, mas durante toda a minha vida não consigo conectar à instância local do MySQL. Eu estou usando issoguia de connectionstrings.com como referência.
Aqui está um código:
import pyodbc
def create_mssql_conn():
return pyodbc.connect(r'Driver={SQL Server};Server=MSSQLSRV;Database=ecomm;Trusted_Connection=yes;')
def create_mysql_conn():
return pyodbc.connect(r'Provider=MSDASQL;Driver={MySQL ODBC 5.6 UNICODE Driver};Server=127.0.0.1;Database=ecomm;User=root;Password=myP@$w0rd;Option=3;')
# conn = create_mssql_conn() # This one works
conn = create_mysql_conn() # This one breaks
cursor = conn.cursor()
cursor.execute('SELECT * FROM inventory')
while 1:
row = cursor.fetchone()
if not row:
break
print row
Aqui está o erro:
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
Eu tentei de tudo, desde adicionarProvider=MSDASQL;
para mudarANSI
paraUNICODE
na cadeia de conexão. Alguma sugestão?