django 连接mssql 数据库(django 1.11.11 sql server 2008 R2)

模块使用的是pcodbc+django-pyodbc-azure

1 pip install django-pyodbc-azure 
2 pip install pyodbc

版本分别为

pyodbc==4.0.26

django-pyodbc-azure==2.1.0.0

创建数据库连接

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'HOST': '127.0.0.1',
        'PORT': '',
        'NAME': 'test',
        'USER': 'sa',
        'PASSWORD': '123',
        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
            'MARS_Connection': True,
        }
    }
}

# set this to False if you want to turn off pyodbc's connection pooling
# 不想用pyodbc连接就把这句加上?
DATABASE_CONNECTION_POOLING = False

在对应的app/models.py添加model 

from django.db import models

# Create your models here.
class userinfo(models.Model):
    #如果没有models.AutoField,默认会创建一个id的自增列
    name = models.CharField(max_length=30)
    email = models.EmailField()
    memo = models.TextField()

项目文件下目录下执行

python manage.py makemigrations
python manage.py migrate

报错

django.db.utils.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)')

原因是未安装ODBC驱动

前往微软官网下载驱动

https://www.microsoft.com/zh-CN/download/details.aspx?id=53339

Microsoft® ODBC Driver 13.1 for SQL Server

如果下载其他版本 'driver': 字段要自行修改 

再次执行

1 python manage.py makemigrations
2 python manage.py migrate

查看数据库

如出现以上表说明连接成功

猜你喜欢

转载自www.cnblogs.com/WilliamB/p/10848942.html