django-mssql - 无效的连接字符串属性

时间:2016-05-16 13:59:46

标签: python sql-server django django-mssql

这是我在运行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')

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/

2 个答案:

答案 0 :(得分:1)

我现在找到了答案,我使用了错误的provider

更改为Provider=SQLNCLI11解决了问题。

答案 1 :(得分: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
            }
    }
}