Django 2.2 with external connection SQL SERVER

243 Views Asked by At

In my python 3.7 + Django 2.2 I need to connect to external SQL Server. Its not the main DB of Django (that remains in Postgres). I only need to make some query on a view.

Im on Debian 9 and Im trying to install package to add sql server connection but I cant find on google a guide about Debian package to install.

I try to install:

pip install pyodbc
pip install django-mssql-backend

but the compile failed. I think Im missing some system libraries.

UPDATE 1

apt-get install unixodbc-dev
pip install pyodbc
pip install django-mssql-backend

This solved the library installation. Now I got problem when trying to connect to DB:

Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")

Thanks.

1

There are 1 best solutions below

0
On

You're missing the underlying drivers which allow unixodbc to connect to SQL Server. You can find instructions to install the Microsoft ODBC driver here.

The short version for Debian, from the link:

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#Debian 8
curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install libgssapi-krb5-2

Good luck!