2

这是我在运行 django Web 服务器时遇到的错误。

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')

设置.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/

4

2 回答 2

1

我现在找到了答案,我用错了provider.

更改以Provider=SQLNCLI11解决问题。

于 2016-05-16T14:11:35.583 回答
0

试试这些设置。希望这可以帮助

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
            }
    }
}
于 2018-04-03T05:45:57.977 回答