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

求助:使用SQLAlchemy通过可信连接连接SQL Server失败

解决SQLAlchemy可信连接SQL Server的错误问题

你的连接字符串格式错误,这是触发ODBC驱动报错的核心原因,以下是具体修正方案:

错误根源

你在连接字符串中用两个问号分隔参数,而ODBC连接字符串的参数分隔符应为**&**。原字符串里driver={SQL Server}?TrustedConnection=yes的第二个问号会被驱动识别为无效属性,直接引发报错。

修正后的代码

方案1:修正连接字符串格式

import sqlalchemy as sa
import pandas as pd

# 使用&分隔参数,同时推荐用高版本ODBC驱动
engine = sa.create_engine("mssql+pyodbc://REPORTING/REPORTING_System?driver={ODBC Driver 17 for SQL Server}&TrustedConnection=yes")
view = "SELECT Date From Table"
df = pd.read_sql_query(view, engine)

方案2:用URL对象构建连接(更易维护)

如果担心字符串拼接出错,可通过SQLAlchemy的URL对象构建连接,彻底避免格式问题:

import sqlalchemy as sa
import pandas as pd

connection_url = sa.engine.URL.create(
    "mssql+pyodbc",
    host="REPORTING",
    database="REPORTING_System",
    query={
        "driver": "ODBC Driver 17 for SQL Server",
        "TrustedConnection": "yes"
    }
)
engine = sa.create_engine(connection_url)
view = "SELECT Date From Table"
df = pd.read_sql_query(view, engine)

额外注意事项

  • 确保系统已安装ODBC Driver 17 for SQL Server(或更高版本),旧版{SQL Server}驱动兼容性较差。
  • 运行代码的Windows用户需具备目标SQL Server实例及数据库的访问权限(可信连接依赖Windows身份验证)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:55:20