首页 > 解决方案 > 无法使用 python 连接到 SQL Server

问题描述

我需要访问我将使用 Python 编辑的 SQL Server 数据库。为此,我使用 Microsoft SQL Server Management Studio 安装了 SQL Server。使用以下代码,我可以访问我的数据库:

import pyodbc 

conn = pyodbc.connect('Driver={SQL Server};' 
                      'Server=SERG-PC\SQLEXPRESS;'
                      'Database=Kirin;'
                      'Trusted_Connection=yes;')

cursor = conn.cursor()

当我从笔记本电脑(使用 SQL Server)启动它时它可以工作,但是当我从另一台计算机启动它时它不会。出现错误,提示连接被禁止或没有这样的服务器。显然,其他人也有这个问题。我检查了与此错误相关的所有可能讨论。我已使用 SQL Server 配置启用 TCP 协议,并将 sqlserver.exe 添加到防火墙的入站规则中。然而它并没有帮助。所以,我有以下问题:

  1. Server='' 参数需要我的主机名或我的 IP 地址。当我输入主机名时它可以工作,但当我输入我的 ip(安装 SQL Server 的位置)时它不起作用。
  2. 为什么主机名在我的笔记本电脑(使用 SQL Server)上有效,但在我尝试连接到笔记本电脑时却在另一台笔记本电脑上无效?
  3. 如何知道正确的 ip+port 以及如何使用它们通过 SQL Server 从任何计算机连接到我的笔记本电脑?

标签: pythonsql-serverpyodbc

解决方案


默认情况下,SQL Server Express Edition 不会在网络上公开。

按照此处的说明进行操作:第 2 课:从另一台计算机连接以启用对 SQL Server 实例的远程访问。


推荐阅读