Django: невозможно подключиться к Microsoft SQL Server - PullRequest
0 голосов
/ 16 мая 2018

Я не могу подключиться к серверу MS SQL с помощью Django (Версия-1.11.3)

Вот ошибка, которую я получаю:

django.db.utils.OperationalError: ('08001', u '[08001] [unixODBC] [FreeTDS] [SQL Server] Невозможно подключиться к источнику данных (0) (SQLDriverConnect)')

Этоэто файл odbcinst.ini:

 [FreeTDS] 
 Description=TDS driver (Sybase/MS SQL)
 Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
 Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so 
 CPTimeout= 
 CPReuse=
 UsageCount=2

Это фрагмент django settings.py:

DATABASES = {
    'mssql': {
        'ENGINE':'sql_server.pyodbc',
        'NAME': '<NAME>',
        'USER': '<USER>',
        'PASSWORD':'<password>',
        'HOST':'<host-id>',
        'OPTIONS':
        {
            'driver':'FreeTDS'
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

У меня была такая же проблема при работе на Windows 10, и вот что у меня сработало: Скачать драйвер можно здесь: https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017 А затем добавьте «драйвер»: «Драйвер ODBC 17 для SQL Server», в Options в settings.py Надеюсь, это поможет.

0 голосов
/ 17 мая 2018

Несколько вещей:

  • Вам нужно будет установить имя соединения как default вместо mssql
  • Если вы используете FreeTDS в Linux, яРекомендую использовать движок django-pyodbc-azure Django DB: pip install 'django-pyodbc-azure>=1.11,<2'
  • Вам нужно будет указать TDS Verison в ваших настройках.

Результатом этого будут настройкикак это:

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': '<NAME>',
        'USER': '<USER>',
        'PASSWORD':'<password>',
        'HOST':'<host-id>',
        'PORT': '1433',
        'OPTIONS': {
            'driver': 'FreeTDS',
            'unicode_results': True,
            'host_is_server': True,
            'extra_params': 'tds_version=7.3',
        }
    }
}

Для окон:

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': '<NAME>',
        'USER': '<USER>',
        'PASSWORD':'<password>',
        'HOST':'<host-id>',
        'PORT': '1433',
        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
        }
    }
}

Вы можете посмотреть django-pyodbc-azure документы за 1.11 здесь: https://github.com/michiya/django-pyodbc-azure/tree/azure-1.11

Удачи!Эти параметры могут быть сложными для SQL Server, но как только вы их правильно настроите, они будут работать хорошо.

...