[unixODBC] [Driver Manager] Имя источника данных не найдено, и драйвер по умолчанию не указан (0) (SQLDriverConnect) - PullRequest
0 голосов
/ 21 марта 2019

В течение последних нескольких недель я разрабатывал веб-приложение Django для среды Windows и сейчас пытаюсь развернуть его в AWS.

База данных приложения - это база данных SQL Azure и конфигурация вФайл setting.py выглядит следующим образом:

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'nameofdatabase',
        'HOST': 'nameofdatabase.database.windows.net',
        'PORT': '1433',
        'USER': 'user',
        'PASSWORD': 'password',
        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
        }
    }
}

И это ошибка, которую я получил при попытке получить доступ к приложению.Я установил DEBUG=TRUE, чтобы увидеть здесь исключение.

Django Version: 2.1.3
Exception Type: InterfaceError
Exception Value: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
Exception Location: /opt/python/run/venv/local/lib/python3.6/site-packages/sql_server/pyodbc/base.py in get_new_connection, line 307
Python Executable:  /opt/python/run/venv/bin/python3
Python Version: 3.6.7

Я знаю, что это как-то связано с пакетом pyodbc или SQL driver, а также unixodbc в Amazon Linux.

Я довольно новичок в программировании, поэтому надеюсь, что вы, ребята, сможете пролить немного света.Спасибо!

1 Ответ

0 голосов
/ 22 марта 2019

У меня есть два предложения:

Чтобы убедиться, что у вас установлен драйвер, вы должны набрать команду: sudo apt list <pkg_name>, чтобы определить, установлен ли драйвер ODBC.Если вам необходимо установить драйвер Microsoft ODBC для Linux, см. эту документацию .

Если это проблема, специфичная для Python, я предлагаю следующее сообщение о переполнении стека: Подключение к серверу Microsoft SQL с помощью Python

Во-вторых, вам нужно будет создатьправило брандмауэра (если вы этого еще не сделали), чтобы разрешить трафик с общедоступного IP-адреса AWS для развертывания базы данных SQL Azure ( правила брандмауэра SQL базы данных Azure и хранилища данных SQL ).

...