Django 2.0+ 和 SQL Server 接口问题



为什么需要同时安装 Pyodbc 和 django-pyodbc-azure 才能使用 Django 与最新的 SQL Server 版本进行交互?为什么 django 不能开箱即用地使用 Pyodbc?我无法让 Sql Server 与 python 3.4.5、Django 2.1、pyodbc 4.0+ 和 Django-Pyodbc-azure 2.0.8 配合使用。在尝试查询我使用 检查db 反映的某些模型时,我不断遇到分段错误。

我正在使用的 Linux 版本是 openSUSE 42.1我正在使用的 Sql Server 版本是 2014。

django-pyodbc-azure是Django引擎,它将Django ORM方法转换为原始SQL(以及其他函数)。 pyodbc允许 Python 通过特定于数据库的驱动程序unixODBC对数据库运行原始 SQL 查询。所有数据库后端也是如此;它们有一个Django引擎和一个协同工作的Python包。例如,对于PostgreSQL,它使用包含的Django postgresql引擎,该引擎与psycopg2 Python包一起使用。

在 SQL Server 的堆栈中,pyodbc通过unixODBCfreetdsmsodbc Microsoft驱动程序进行通信。翻译有几层。

堆栈,从 Web 服务器到 SQL Server 的数据库服务器:

  • django-pyodbc-azure:将Django的ORM方法翻译成原始SQL。
  • pyodbc : 从 Python 到 unixODBC 的桥梁
  • unixODBC *nix 上的 ODBC 通信库。
  • freetdsmsodbc:从unixODBC到SQL Server的驱动程序桥。

相关内容

  • 没有找到相关文章

最新更新