python - 无法使用 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 添加到防火墙的入站规则中。然而它并没有帮助。所以,我有以下问题:
- Server='' 参数需要我的主机名或我的 IP 地址。当我输入主机名时它可以工作,但当我输入我的 ip(安装 SQL Server 的位置)时它不起作用。
- 为什么主机名在我的笔记本电脑(使用 SQL Server)上有效,但在我尝试连接到笔记本电脑时却在另一台笔记本电脑上无效?
- 如何知道正确的 ip+port 以及如何使用它们通过 SQL Server 从任何计算机连接到我的笔记本电脑?
解决方案
默认情况下,SQL Server Express Edition 不会在网络上公开。
按照此处的说明进行操作:第 2 课:从另一台计算机连接以启用对 SQL Server 实例的远程访问。
推荐阅读
- c++ - 如何让变量随机输出四个单词之一
- emacs - Org 模式将缩进转移到下一行
- qt - QML-如何更改图表视图中一点的颜色?
- android - 如何旋转滚动事件的视图?
- angular-ui-bootstrap - 角引导日期时间选择器
- c++ - cudaMemcpyToSymbol 只是挂起并且永远不会返回。GPU 处理率为 100%。代码在 K40 上工作正常,但在 V100 上不行
- angular - Ionic input type="number" 允许多个小数
- testing - 如何禁用类名的 webpack 缩小
- elasticsearch - 根据子类型属性对弹性搜索类型进行排序
- python - 尝试使用 Python 代码将电子邮件打印到具有 IMAP 的网站上,localhost 没有响应