gpt4 book ai didi

python - pyodbc 连接到 SQL Server 2012 问题

转载 作者:太空宇宙 更新时间:2023-11-04 05:53:07 25 4
gpt4 key购买 nike

下面是回溯。我已经阅读了所有其他 SO 线程,用谷歌搜索了两个多小时,但无法弄清楚。这是我尝试过的:

  • 连接字符串的 SQL 身份验证和 Windows 身份验证版本。
  • 使用 SQL Server 名称(文本)以及服务器的 IP 地址
  • 包括和排除端口 1443(SQL 服务器的默认 tcp/ip 端口)
  • 在 Windows 防火墙中创建新规则以允许端口 1443 的入站/出站 TCP
  • 列表项

    追溯(最近的调用最后): 文件“pythonscript.py”,第 75 行,位于 conn = pyodbc.connect(driver='{SQL Server}', server='ipaddress,1443', database='master', uid='XYZ\login', pwd='password')pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或拒绝访问。(17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL服务器驱动][DBNETLIB]ConnectionOpen (Connect()). (53)'

以下是我为连接字符串尝试过的一些示例:

conn = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = '1.1.1.1,1443', database = 'master')

然后

conn = pyodbc.connect(driver='{SQL Server}', server='1.1.1.1,1443', database='master', uid='xyz\login', pwd='pwd'

然后我还用服务器名称(文本)而不是 IP 地址尝试了以上两种方法。我现在不知道如何让它发挥作用。

最佳答案

您是否确认服务器之间存在连接?尝试远程登录 -

远程登录服务器名称 1433

如果连接成功,那么您可以专注于 Python 或连接字符串的问题。

在您的连接字符串中将其更改为使用 PORT 参数而不是 ,1433。像-

服务器=1.1.1.1;端口=1433;

我还想说你最好传递整个字符串。这是我在 Linux 上通常使用 FreeTDS 所做的事情 -

self.db_connection = pyodbc.connect("DRIVER=FreeTDS;SERVER=1.1.1.1;PORT=1433;DATABASE=myDB;UID=myUser;PWD=myPass;TDS_Version=8.0;")

关于python - pyodbc 连接到 SQL Server 2012 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29178231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com