Я создаю новый проект в django и пытаюсь подключиться к серверу sql 2019.
Итак, я устанавливаю sql-server-2019 и после установки проверяю, все ли в порядке с ODBC DRIvers, и, как вы можете видеть, пока все в порядке.
Следующее, что я сделал, это pip install django-pyodbc-azure.
У меня установлено больше пакетов, потому что я тестировал все, что нашел, и до сих пор у меня всегда была одна и та же ошибка.
Это означает conn = Database.connect(connstr, django.db.utils.InterfaceError: («IM002», «[IM002] [Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено, и не был указан предопределенный драйвер (0) (SQLDriverConnect))
А вот мой settings.py от django:
Я застрял здесь, я даже не знаю, что я могу продолжать
Уже делаю и не работает
Пожалуйста, замените изображения (кроме первого) текстом. Включите полную трассировку стека.
@PedroMariz показывает вкладку DSN de systemas и вкладки DSN de utilizator согласно ответу stackoverflow.com/a/41703602/2067976.
Я бы попробовал это:
(1) добавить запись «dsn» в словарь DATABASES следующим образом:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
...
'OPTIONS': {
'driver': 'ODBC Driver 17 for SQL Server',
'dsn': 'avariagest',
},
}
}
(2) Создайте «DSN» с именем «avariagest»:
Перейдите на вкладку «DSN de sistema» в окне администрирования ODBC, затем добавьте запись под названием «avariagest» с подходящими атрибутами.
Когда я создаю DSN, я выбираю вариант входа в систему с пользователем sql, но я получаю сообщение об ошибке, говорящее, что «вход пользователя не выполнен», и я почти уверен, что вход в систему правильный
Я действительно считаю, что это не имеет ничего общего с Django и может быть именно той причиной, по которой вы не можете подключиться из своего проекта Django. Я бы проверил права пользователя в базе данных (и таблицах). Я не очень хорошо знаком с конфигурацией SQL Server, но я думаю, вам следует проверить свойства «ролей».
Я получал ошибку «общая память», когда создавал dsn, но уже исправил ее. Итак, прямо сейчас, когда я пытаюсь выполнить миграцию в своем проекте Django, я получаю сообщение об ошибке «[28000] [Microsoft] [Драйвер ODBC 17 для SQL Server] Неверный атрибут строки подключения (0) ')» и «Ошибка входа» . и на всякий случай я уже проверяю все роли своему пользователю.
Предоставляет ли диалоговое окно конфигурации DSN кнопку «Проверить соединение»? При случае, вы пробовали? Или вы можете протестировать соединение ODBC вне контекста Django, чтобы убедиться, что оно работает: «import pyodbc; 'сделанный')"
Взгляните на это: stackoverflow.com/questions/17115632/… . Вы также можете проверить его форк: github.com/ESSolutions/django-mssql-backend