1.环境描述
环境:Win7 + Django2.1.10 + SQL Server 2014 + Python3.6 + PyCharm 2017.2.3 x64
2.安装插件
由于Django默认是不支持SQL Server的,所以需要安装第三方插件来启动SQL Server
插件为: pyodbc (4.0.26) 和 django-pyodbc-azure (2.1.0.0)
3.配置settings.py文件
// An highlighted block
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'demo', #需要连接的数据库名字
'USER': '***', #连接数据库的用户名
'PASSWORD': '***', #对应的用户密码
'HOST': 'localhost', # IP 地址
'PORT': '1433', #端口号
'OPTIONS': {
'driver': 'SQL Server Native Client 11.0', # 驱动
'MARS_Connection': True,
},
}
}
4.可能会出现的错误
django.db.utils.OperationalError: ('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]TCP 提供程序: 由于目标计算机积极拒绝,无法连接。 (10061) (SQLDriverConnect); [08001] [Microsoft][SQL Server Native Client 11.0]登录超时已过期 (0); [08001] [Microsoft][SQL Server Native Client 11.0]无效的连接字符串属性 (0); [08001] [Microsoft][SQL Server Native Client 11.0]与 SQL Server 建立连接时发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。 (10061)')
这是因为SQL Server数据库的默认端口1433并未开启
解决方案:
1.右击我的电脑选择管理
2.点击服务和应用程序下的SQL Server配置管理器,然后点击图片中所示位置
3.双击TCP/IP,出现如下画面
下拉到最后位置,如图片位置填写上1433,保存即可,然后再运行Django,进行数据库迁移即可。
笔者的问题是这样解决的,希望能给大家一点帮助,如果大家有其他的问题,欢迎留言。