我正在努力使用Django连接到本地MsSQL服务器。它说当我执行命令“ makemigrations”时:
django.core.exceptions.ImproperlyConfigured:'sqlserver_ado'不是可用的数据库后端。 尝试使用“ django.db.backends.XXX”,其中XXX是以下之一: 'mysql','oracle','postgresql','sqlite3'
我的设置:
DATABASES = {
'default': {
'NAME': 'TestDB',
'ENGINE': 'sqlserver_ado',
'HOST': 'STEPAN',
'USER': '',
'PASSWORD': '',
}
}
在此解决方案中:Setting up django-mssql issues我发现我的'sqlserver_ado'应该在相同的文件夹'site-packages'中,它是(Python IDLE shell):
>>> import sqlserver_ado
>>> sqlserver_ado
<module 'sqlserver_ado' from 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\lib\\site-packages\\sqlserver_ado\\__init__.py'>
>>> import django
>>> django
<module 'django' from 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\lib\\site-packages\\django\\__init__.py'>
我安装了PyWin32,并且可以在IDLE中导入(即使路径也可以),但是仍然收到此错误消息。
有什么想法或建议吗?
规格:Win10,Python 3.6,Visual Studio 2017,django-mssql 1.8,django 2.0.6,MsSQL(开发人员),并且存在此数据库(使用flask我可以毫无问题地连接到本地服务器[只是为了比较我在另一个烧瓶项目中的连接字符串:
SQLALCHEMY_DATABASE_URI = "mssql+pyodbc:///?odbc_connect={}".format(urllib.parse.quote_plus(
"DRIVER={SQL Server};Server=STEPAN;Database=TestDB;Trusted_Connection=yes;"))
]),项目是由Visual Studio自动创建的,抛出此错误的命令:
python manage.py makemigrations
答案 0 :(得分:0)
回复旧帖子,但 - 以防对其他人有帮助:
我发现,在某些情况下,您还需要指定 SQL Server 驱动程序版本:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': '<dbNAME_HERE',
'HOST': '<SERVERNAME_HERE>\SQLEXPRESS',
'OPTIONS': {
'driver': 'ODBC Driver 17 for SQL Server',
}
}
}
这是针对 DJANGO 项目的,但问题可能类似...