Django版本1.8.3不支持SQL Server v13

时间:2018-02-13 18:10:49

标签: python sql-server django

我对这些东西不熟悉所以如果这是在错误的地方,我道歉。我继承了一个Debian 7.14系统,它有Django版本1.8.3和Python版本2.7.6。它与SQL Server有连接。我们刚刚升级到SQL Server 2016,现在收到错误

异常类型:NotImplementedError 异常值:不支持Sql Server v13。

如何升级到较新版本的Django以使此连接再次运行?哪个版本适用于SQL Server 2016?我认为升级Debian版本也是一个好主意,但我不知道这是否会进一步打破这一点。

我非常感谢任何见解或建议,我做了大量的研究,而且我没有任何好转的地方。

1 个答案:

答案 0 :(得分:0)

您很可能正在使用过时版本的Django MSSQL数据库连接器。根据其change log,从v1.8开始,连接器支持MS SQL Server 2012及更高版本。

要确认这一点,请检查Django应用的DATABASES settings,看看它是否显示'ENGINE': 'sqlserver_ado'作为连接类型。如果是这样, pip install django-mssql --upgrade应该解决您的问题(虽然我实际上没有对此进行测试)。

编辑好的,所以根据评论中的其他信息(DATABASES设置中的'ENGINE': 'sql_server.pyodbc'),您实际上是在使用django-pyodbc-azure作为数据库连接器。这个驱动程序似乎是相当Django版本。让我们首先找出正在使用的版本:

pip show django-pyodbc-azure

您安装的版本应与Django版本相同。如果使用Django 1.8,并且django-pyodbc-azure版本显示少于此值,请尝试安装正确的版本:

pip install "django-pyodbc-azure<1.9"