1

在我的 python 3.7 + Django 2.2 中,我需要连接到外部 SQL Server。它不是 Django 的主数据库(保留在 Postgres 中)。我只需要对视图进行一些查询。

我在 Debian 9 上,我试图安装软件包以添加 sql server 连接,但我在谷歌上找不到关于要安装的 Debian 软件包的指南。

我尝试安装:

pip install pyodbc
pip install django-mssql-backend

但编译失败。我想我缺少一些系统库。

更新 1

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

这解决了库安装。现在我在尝试连接到数据库时遇到了问题:

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

谢谢。

4

1 回答 1

0

您缺少允许unixodbc连接到 SQL Server 的底层驱动程序。您可以在此处找到安装 Microsoft ODBC 驱动程序的说明

Debian 的简短版本,来自链接:

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

祝你好运!

于 2020-07-10T00:34:53.253 回答