django:数据库驱动程序不支持现代数据时间类型

Posted

技术标签:

【中文标题】django:数据库驱动程序不支持现代数据时间类型【英文标题】:django: The database driver doesn't support modern datatime types 【发布时间】:2019-04-22 09:41:00 【问题描述】:

我正在尝试连接 MSSQL 服务器并从 SQL 服务器中提取数据。

我遇到了以下错误。

"django.core.exceptions.ImproperlyConfigured: 数据库驱动 不支持现代数据时间类型。”

版本: 姜戈:2.2 蟒蛇:3.7 django-pyodbc-azure-2.1.0.0 pyodbc-4.0.26

 DATABASES = 
     'default': 
         'ENGINE': 'sql_server.pyodbc',
         'HOST': 'server\\DB',
         'NAME': 'Archive',
         'USER': 'Admin',
         'PASSWORD': '*****',
         'PORT': '49422',

         'OPTIONS': 
             'driver': 'SQL Server',
             'dsn': 'Django',
             'extra_params': "Persist Security Info=False;server=server\\DB",
         ,
     
 

【问题讨论】:

Windows 附带的“SQL Server”ODBC 驱动程序是旧版驱动程序,不应用于新开发。试试更新的"ODBC Driver 17 for SQL Server"。 【参考方案1】:

Windows 附带的“SQL Server”ODBC 驱动程序不知道 SQL Server 2000 之后引入的 SQL Server 数据类型(例如,datetimedatetime2datetimeoffset)。它仅适用于旧版应用程序,不应用于新开发。

请下载并安装单独分发的 ODBC 驱动程序。除了支持较新的数据类型外,较新的驱动程序还支持 TLS 协议增强和加密功能。在撰写本文时,当前的 ODBC 驱动程序是 ODBC Driver 17 for SQL Server。

【讨论】:

以上是关于django:数据库驱动程序不支持现代数据时间类型的主要内容,如果未能解决你的问题,请参考以下文章

django之redis和django-redis的使用

在不删除表的情况下更改模型中的 Django 数据类型

不支持的媒体类型 Django API

Django/React 415(不支持的媒体类型)

Django字段类型介绍

Django模板过滤器不断给出“不支持的操作数类型”