Мне дали строку подключения ODBC для подключения к базе данных.Однако у меня возникли трудности с подключением к нему моего приложения Django.Как правильно подключить мое приложение к нему?Я что-то упустил в своем коде?
Это моя строка подключения:
Driver={SQL Anywhere 17};uid=user;pwd=secret;server=databasename;astart=No;host=127.0.0.1;port=1234
Используя тестовый скрипт, использующий pyodbc, я могу подключиться к базе данных.Однако, когда я пытаюсь изменить файл settings.py для моего приложения, оно не может подключиться к базе данных.
Requirements.py
django~=2.1.4
pyodbc~=4.0.25
django-pyodbc-azure~=2.1.0.0
Settings.py
#First Attempt
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'HOST': '127.0.0.1,1234',
'USER': 'user',
'PASSWORD': 'secret',
'NAME': 'databasename',
'PORT': '1234',
'OPTIONS': {
'driver' : 'SQL Anywhere 17',
'host_is_server': 'True',
},
}
}
#Second Attempt
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'HOST': '',
'NAME': 'databasename;',
'PORT': '',
'OPTIONS': {
'host_is_server': 'True',
'dsn': 'Driver={SQL Anywhere 17};uid=user;pwd=secret;server=databasename;astart=No;host=127.0.0.1;port=1234'
},
}
}
Для первой попытки я получаюследующая ошибка:
django.db.utils.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
При второй попытке я получаю следующую ошибку:
django.db.utils.Error: ('IM010', '[IM010] [Microsoft][ODBC Driver Manager] Data source name too long (0) (SQLDriverConnect)')
Я не уверен, что делаю неправильно.Любая помощь будет принята с благодарностью.