A string DSN baseada em arquivo está sendo interpretada pelo SQLAlchemy como server name =
c
, nome do banco de dados =users
. Eu prefiro conectar sem usar DSNs, é uma tarefa de configuração a menos para lidar durante as migrações de código.
Esta sintaxe funciona usando a autenticação do Windows:
engine = sa.create_engine('mssql+pyodbc://server/database')
Ou com autenticação SQL:
engine = sa.create_engine('mssql+pyodbc://user:[email protected]/database')
SQLAlchemy tem uma explicação completa das diferentes opções de string de conexão aqui.