【问题标题】:Cannot establish connection to sql-server using pyodbc on Windows 10无法在 Windows 10 上使用 pyodbc 建立与 sql-server 的连接
【发布时间】:2017-07-19 18:24:57
【问题描述】:

尝试在 django 上运行开发服务器时出现此错误。

django.db.utils.Error: ('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53].  (53) (SQLDriverConnect)')

这是我的 settings.py 数据库

DATABASES = {
'default': {
    'ENGINE': 'sql_server.pyodbc',
    'NAME': 'mydata',
    'USER': 'user@mydata',
    'PASSWORD': '**password**',
    'HOST': 'mydata.database.windows.net',
    'PORT':'**port**',

    'OPTIONS': {
        'driver': 'SQL Server',
        'host_is_server': True,
        'MultipleActiveResultSets': False,
        'Encrypt': True,
        'TrustServerCertificate': False,
        'Connection Timeout': 30,
        'Persist Security Info': False,
    },
},
}

我安装了django-pyodbcdjango-pyodbc-azure

使用 django 1.11 版。

任何帮助都会很棒!谢谢。

编辑 1

我将驱动程序更改为 SQL Sever 并更新了驱动程序。现在我收到了这个错误。

django.db.utils.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect)')

我在 Azure 上设置了数据库。

【问题讨论】:

    标签: python sql-server django azure pyodbc


    【解决方案1】:

    根据您的错误信息,有两种可能的原因导致该问题,如下所示。

    1. driver 选项值应为 ODBC Driver 13 for SQL Server,如下图来自 Azure 门户。请更改并重试。

    1. access denied错误可能是由于未将客户端IP添加到Azure SQL数据库的防火墙以允许访问,如下图。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2013-09-22
      • 2013-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      相关资源
      最近更新 更多