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

时间:2019-10-16 11:28:39

标签: sql-server django

我有一个带有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'
          }}

2 个答案:

答案 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',