这是我在运行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
答案 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
}
}
}