Goal: Connect to MSSQL using FreeTDS / ODBC in Python.
Host: Ubuntu 11.10 x86_64
Install:
sudo apt-get install freetds-dev freetds-bin unixodbc-dev tdsodbc
pip install pyodbc sqlalchemy
In /etc/odbcinst.ini:
[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/odbc/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.so
Any help on the connection string here? Was able to successfully build and run container with the following dockerfile.
FROM python:3.6 RUN apt-get update COPY requirements.txt requirements.txt RUN pip install --no-cache -r requirements.txt EXPOSE 8888 RUN apt-get update && apt-get install -y tdsodbc unixodbc-dev \ && apt install unixodbc-bin -y \ && apt-get clean -y RUN odbcinst -i -d -f /usr/share/tdsodbc/odbcinst.ini RUN pip install pyodbc CMD ["jupyter","notebook","--no-browser","--ip=0.0.0.0","--allow-root","--NotebookApp.token='mynotebook'"]
Python Connection String:
import pyodbc import pandas as pd cnxn = pyodbc.connect('DSN=unixodbc;Server=<server>;DATABASE=<database>;UID=<username>;PWD=<password>
ERROR:
InterfaceError: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')