为什么必须同时安装Pyodbc和django-pyodbc-azure,才能与带有Django的SQL Server最新版本进行接口?为什么django不能直接使用Pyodbc呢?我很难让Sql Server与python3.4.5、Django 2.1、pyodbc 4.0+和Django-Pyodbc-azure 2.0.8很好地配合使用。当我试图查询某些模型时,我不断地得到一个分段错误抛出,这是我用检查数据库反映出来的。
我使用的linux版本是openSUSE 42.1,我使用的Sql Server版本是2014。
发布于 2019-02-02 08:00:19
django-pyodbc-azure是Django引擎,它将Django ORM方法转换为原始SQL (以及其他函数)。pyodbc允许Python通过带有特定于数据库的驱动程序的unixODBC对数据库运行原始SQL查询。对于所有DB后端也是如此;它们都有一个Django引擎和一个Python包协同工作。例如,对于PostgreSQL,它使用包含的Django postgresql引擎,该引擎与psycopg2 Python包一起工作。
在SQL Server堆栈的更下方,pyodbc通过unixODBC和freetds或msodbc微软驱动程序进行通信。翻译有几个层次。
从web服务器到SQL server数据库服务器的堆栈:
django-pyodbc-azure:将Django的对象关系映射方法转换为原始的SQL.pyodbc:桥,从PythonunixODBC库到*nix.freetds或msodbc上的unixODBC通信:从unixODBC到SQL Server的驱动程序桥。https://stackoverflow.com/questions/54488316
复制相似问题