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

如何用Python通过Windows认证连接SQL Server视图?遇InterfaceError 28000

解决SQL Server连接"InterfaceError 28000"访问被拒问题

问题根源

你的连接字符串里Database参数配置错误:视图的完整路径格式是服务器名.数据库名.架构名.视图名,但Database字段只需要填写数据库名称,不需要包含架构和视图信息。你把整个视图路径塞进Database参数,导致数据库连接逻辑混乱,进而触发访问被拒错误。

修正后的连接代码

import pyodbc

# 修正连接字符串:Database仅指定数据库名
conn_str = (
    r'Driver=SQL Server;' 
    r'Server=Serverlocation\Server;' 
    r'Database=Server.DW.Application;'  # 移除多余的架构与视图部分
    r'Trusted_Connection=yes;' 
)

# 建立连接并查询目标视图
cnxn = pyodbc.connect(conn_str)
cursor = cnxn.cursor()

# 查询视图时必须指定架构和视图名
cursor.execute('SELECT * FROM [Application_AdHoc].[DepartmentDailySummary]')
rows = cursor.fetchall()

# 示例:遍历打印查询结果
for row in rows:
    print(row)

# 关闭资源
cursor.close()
cnxn.close()

额外注意事项

  • 确认你的Windows账号已被正确授予该视图的SELECT权限(若权限有疑问,可联系数据库管理员核实)
  • 如果改用SQL Server账号认证而非Windows集成认证,需将Trusted_Connection=yes替换为UID=你的账号;PWD=你的密码;

内容的提问来源于stack exchange,提问作者thomasglanz99

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:14:55