10

I'm trying to connect to a database on my local machine.

import sqlalchemy
engine = sqlalchemy.create_engine('mssql+pyodbc://localhost\\SQLEXPRESS/NCM')

It fails with the following error:

DBAPIError: (pyodbc.Error) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

And also outputs this warning:

C:\Miniconda\envs\bees\lib\site-packages\sqlalchemy\connectors\pyodbc.py:82: SAWarning: No driver name specified; this is expected by PyODBC when using DSN-less connections
"No driver name specified; "

Where should I be looking to diagnose the problem?

Jamie Bull
  • 12,889
  • 15
  • 77
  • 116

1 Answers1

15

As shown in this link, as of version 1.0.0 you need to specify the driver explicitly for hostname connections.

Changed in version 1.0.0: Hostname-based PyODBC connections now require the
SQL Server driver name specified explicitly. SQLAlchemy cannot choose an 
optimal default here as it varies based on platform and installed drivers.
Jamie Bull
  • 12,889
  • 15
  • 77
  • 116