Связывание Django с ошибкой MSSQL: драйвер базы данных не поддерживает современные типы времени данных - PullRequest
0 голосов
/ 16 апреля 2019

Я пытался связать свою базу данных mssql с Django. Я использую Windows 10 на моей машине. Когда я запускаю сервер Django, это не проблема. Однако, когда я хочу использовать InspectDB, я получаю эту ошибку:

    File "C:\ProgramData\Anaconda3\lib\site-packages\sql_server\pyodbc\base.py", line 365, in init_connection_state
            "The database driver doesn't support modern datatime types.")
django.core.exceptions.ImproperlyConfigured: The database driver doesn't support modern datatime types.

Мои настройки Django выглядят так:

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'HOST': 'my_host',
        'PORT': '1433',
        'NAME': 'database_name',
        'OPTIONS': {
            'driver': 'SQL Server',
            'extra_params': "Persist Security Info=False;server=my_host"
        },
    },
}

Я не очень понимаю эту идею двигателя. Однако я пробовал другие двигатели, но ни один из них не работал. Ошибка появляется при запуске сервера. С этим механизмом не возникает ошибка, когда я запускаю сервер, но он дает мне вышеупомянутую ошибку, когда я хочу запустить: python manage.py inspectdb

Любое проникновение будет с благодарностью.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

В общем, если вы используете mssql в linux, вам придется установить драйверы sql server odbc .Вы должны будете сделать то же самое на клиентах Windows, но это немного проще.После установки собственных драйверов обновите параметр DRIVER до ODBC Driver 17 for SQL Server.

0 голосов
/ 16 апреля 2019

Если вы используете django-pyodbc-azure 2.0, может помочь следующая проблема.

https://github.com/michiya/django-pyodbc-azure/issues/142

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...