You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境Python连接SQL Server遇Kerberos错误,如何改用账号密码登录?

解决Linux下Python连接SQL Server的Kerberos凭证问题

核心解决方案:强制使用账号密码认证(跳过Kerberos)

直接修改连接字符串,明确禁用Kerberos/AD集成认证逻辑,改用代码中指定的UID和密码完成登录,无需依赖Linux机器上的Kerberos配置。

具体修改要点

  1. 移除连接字符串中Trusted_Connection=yes、Authentication=ActiveDirectoryIntegrated这类AD/Kerberos相关参数
  2. 添加UID=<你的用户名>、PWD=<你的密码>参数
  3. 关键:加入Authentication=SqlPassword强制使用账号密码认证,彻底绕过Kerberos

示例代码

import pyodbc

# 构造连接字符串
conn_str = (
    "Driver={ODBC Driver 18 for SQL Server};"
    "Server=tcp:你的SQL服务器地址,1433;"
    "Database=目标数据库名;"
    "UID=你的登录账号;"  # 支持DOMAIN\用户名格式的AD账号
    "PWD=你的登录密码;"
    "Encrypt=yes;"
    "TrustServerCertificate=no;"
    "Authentication=SqlPassword;"  # 核心参数:强制用密码认证
)

try:
    conn = pyodbc.connect(conn_str)
    print("数据库连接成功")
    # 执行后续数据库操作
    conn.close()
except pyodbc.Error as e:
    print(f"连接失败: {str(e)}")

补充说明

  • 如果使用的是SQL Server本地账号(非AD域账号),直接填写本地账号的UID和密码即可
  • 若必须使用AD域账号,需确保该账号已在SQL Server中配置了对应登录权限
  • Encrypt和TrustServerCertificate参数可根据SQL Server的实际安全配置调整(测试环境可临时设TrustServerCertificate=yes)

内容的提问来源于stack exchange,提问作者Chaithra. m.c

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 10:15:14