【问题标题】:django-mssql - Invalid connection string attributedjango-mssql - 无效的连接字符串属性
【发布时间】:2016-09-12 08:25:38
【问题描述】:

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

【问题讨论】:

    标签: python sql-server django django-mssql


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      试试这些设置。希望这会有所帮助

      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
                  }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2021-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-10
        • 2021-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多