Как получить доступ к драйверу ODBC в службе приложений Azure
Я пытаюсь запустить приложение Django (3.0) в службе приложений Azure в Linux, подключенное к базе данных SQL Azure. В моем промежуточном экземпляре службы приложений это работает отлично, однако, когда я настраиваю свой производственный экземпляр в другой учетной записи Azure, мое приложение Django больше не может получить доступ к базе данных.
Когда я жестко запрограммировал драйвер ODBC 17 в настройки базы данных, я получил эту ошибку в журналах сборки Oryx:
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")
Когда я переключился на предложенную здесь версию без жесткого кодирования, я получил следующую ошибку:
'driver': sorted(pyodbc.drivers()).pop(),
IndexError: pop from empty list
Как установить драйвер ODBC в службе приложений Azure?
РЕДАКТИРОВАТЬ: я не использую вариант развертывания Docker. Я развертываю исходный код прямо с Github.
1 ответ
Я протестировал его, и он у меня работает.
Откройте ssh для своего веб-приложения и выполните следующую команду:-
apt-get update
apt-get install g++
apt-get install unixodbc-dev
pip install pyodbc
Затем мы можем использовать режим конфиденциальности или посетить веб-сайт после очистки кеша. Вы можете попробовать обновить еще несколько раз, и вы обнаружите, что веб-сайт вернулся в нормальное состояние.
Ранее я сказал, что вы можете попробовать использовать venv, после того, как я протестировал, я обнаружил, что в нем нет необходимости. Следуйте моему шагу, чтобы запустить команду, с вашим веб-приложением все будет в порядке.