无法在 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-pyodbc
和 django-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 上设置了数据库。
根据您的错误信息,导致问题的原因可能有以下两种。
driver
选项值应为 ODBC Driver 13 for SQL Server
,如下图来自 Azure 门户。请更改并重试。
- 出现
access denied
错误可能是因为你的客户端IP没有加入AzureSQL数据库的防火墙允许访问,如下图
希望对您有所帮助。
在 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-pyodbc
和 django-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 上设置了数据库。
根据您的错误信息,导致问题的原因可能有以下两种。
driver
选项值应为ODBC Driver 13 for SQL Server
,如下图来自 Azure 门户。请更改并重试。
- 出现
access denied
错误可能是因为你的客户端IP没有加入AzureSQL数据库的防火墙允许访问,如下图
希望对您有所帮助。