django-mssql — неверный атрибут строки подключения

Это ошибка, которую я получаю, когда запускаю веб-сервер django.

django.db.utils.OperationalError: (com_error(-2147352567, 'Exception occurred.', (0, u'Microsoft OLE DB Provider for SQL
 Server', u'Invalid connection string attribute', None, 0, -2147217843), None), u'Error opening connection: DATA SOURCE=
server1;Initial Catalog=Misc;UID=DOMAIN\\dcullen;PWD=******;PROVIDER=SQLOLEDB;MARS Connection=True')

settings.py

...
DATABASES = {
    'default': {
        'NAME': 'Misc',
        'ENGINE': 'sqlserver_ado',
        'HOST': 'server1',
        'USER': 'DOMAIN\\dcullen',
        'PASSWORD': 'PWD',
        'OPTIONS': {
            'provider': 'SQLOLEDB',
            'use_legacy_date_fields': 'True'
        }
    }
}
...

connection-strings.com, похоже, указывает что драйвер не для SQL Server 2012, а SQL Server 2000.

Версия Python: 2.7 Версия Django: 1.7.11 Версия django-mssql: 1.7

Домашняя страница пакета: https://bitbucket.org/Manfre/django-mssql/


person Danny Cullen    schedule 16.05.2016    source источник


Ответы (2)


Я нашел ответ сейчас, я использовал неправильный provider.

Переход на Provider=SQLNCLI11 решил проблему.

person Danny Cullen    schedule 16.05.2016

попробуйте эти настройки. Надеюсь это поможет

DATABASES = {
    'default': {
        'ENGINE': 'sqlserver_ado',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '1433',
         'OPTIONS': {
            'provider': 'SQLOLEDB', #SQLNCLI11 , SQLOLEDB
            'use_legacy_date_fields': 'True',
            #'extra_params' : 'DataTypeCompatibility=80;MARS Connection=True',
            #'connect_timeout': 0
            }
    }
}
person Dheeraj    schedule 03.04.2018