使用django-mssql-1.6建立与MS SQL Server 2014的连接

sca*_*tti 4 python django django-mssql

我知道django-mssql-1.6/README声明:

SQL Server版本

支持的版本:

  • 2008年
  • 2008R2
  • 2012

但是,看到v.1.6是可用的最新版本,我想知道是否有人能够找到连接到MS SQL Server 2014的方法.我正在尝试,但收到错误消息:

django.db.utils.OperationalError:(com_error(-2147352567,'Exception occurred.',(0,u'ADODB.Connection',找不到u'Provider.它可能没有正确安装.',u'C:\Windows\HELP\ADO270.CHM',1240655,-2146824582),无),u'错误打开连接:DATA SOURCE = 127.0.0.1;初始目录= testdb;集成安全性= SSPI; PROVIDER = sqlncli10; DataTypeCompatibility = 80; MARS Connection = True')

使用配置:

DATABASES = {
    'default': {
        'ENGINE': 'sqlserver_ado',
        'NAME': 'testdb'
    }
}
Run Code Online (Sandbox Code Playgroud)

Nun*_*ata 8

据我所知,您正在使用正确版本的django-mssql和Django.我最近从1.6移动到1.7并且不得不改变数据库后端,因为sql_server.pyodbcdjango 1.7不再支持.我在更改为django-mssql(sqlserver_ado)时遇到了这个问题.问题是您使用的是错误的提供程序.Django-mssql SQLCLI10用作默认提供程序,它也不适用于我.只要您使用SQLOLEDB提供程序,向数据库配置中添加选项哈希(如上面的答案中的那个)就可以解决您的问题.这是我的配置:

    DATABASES = {
    'default': {
        'NAME': 'CVH_Dev',
        'ENGINE': 'sqlserver_ado',
        'HOST': '192.***.212.2**',
        'USER': 'USER',
        'PASSWORD': 'PWD',
        'OPTIONS': {
            'provider': 'SQLOLEDB',
            'use_legacy_date_fields': 'True'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用SQLOLEDB提供程序选项,它将工作.希望这可以帮助.