无法在 Windows 10 上使用 pyodbc 与 sql-服务器建立连接

Cannot establish connection to sql-server using pyodbc on Windows 10

在 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 服务器并更新了驱动程序。现在我收到这个错误。

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

我在 Azure 上设置了数据库。

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

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

  1. 出现access denied错误可能是因为你的客户端IP没有加入AzureSQL数据库的防火墙允许访问,如下图

希望对您有所帮助。