我有一个带有azure sql服务器的Django Web应用程序,我将代码从一台笔记本电脑移到另一台笔记本电脑,突然我得到了django.db.utils.InterfaceError:('IM002','[IM002] [Microsoft] [ODBC驱动程序管理器]启动Web服务器后,没有发现数据源名称,也没有指定默认驱动程序(0)(SQLDriverConnect)')
我能够找出问题所在,并意识到它来自于setting.py中的数据库连接,我尝试从控制台运行简单的python码头,并且成功了
我将ODBC数据源中的设置与我的旧笔记本电脑进行了比较,看起来一样,
已解决-我注意到唯一的区别是在我的旧笔记本电脑中 用于SQL Server的ODBC驱动程序13,我也安装了该驱动程序,并且可以正常工作
我正在使用: 在Win32上使用Python 3.6.0(v3.6.0:41df79263a11,2016年12月23日,08:06:12)[MSC v.1900 64位(AMD64)]
键入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。 有什么想法吗?
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'XXXXXX',
'Trusted_Connection':'No',
'HOST' : 'XXXXXXXXXXX',
'DRIVER': '{ODBC Driver 17 for SQL Server}',
'OPTIONS': {
'extra_params': 'APP=Setting.py',
},
'AUTOCOMMIT' : True ,
'USER' : 'XXXXXXX',
'PASSWORD' : 'XXXXXXX'
}}
答案 0 :(得分:0)
我需要在我的SQL 17驱动程序中安装https://www.microsoft.com/en-us/download/details.aspx?id=56567 odbc。
答案 1 :(得分:0)
代替
'DRIVER': '{ODBC Driver 17 for SQL Server}',
使用
'DRIVER': 'SQL Server Native Client 11.0',