我对这些东西不熟悉所以如果这是在错误的地方,我道歉。我继承了一个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版本也是一个好主意,但我不知道这是否会进一步打破这一点。
我非常感谢任何见解或建议,我做了大量的研究,而且我没有任何好转的地方。
答案 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"