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

如何将LangChain数据库代理与SQL Server进行连接?

LangChain连接SQL Server数据库的正确方式及错误修复

问题描述

需要将LangChain数据库代理与SQL Server数据库连接实现数据访问,但官方文档仅提供SQLite连接示例,替换连接字符串后出现以下错误:

sqlalchemy.exc.InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

正确连接方式

LangChain的SQLDatabase.from_uri兼容SQLAlchemy的SQL Server连接规范,按以下步骤配置即可:

1. 安装必需依赖

先确保安装连接所需的Python包:

pip install pyodbc sqlalchemy langchain openai

2. 构建正确的连接URI

根据身份验证方式选择对应格式,替换占位符为你的实际信息:

  • SQL身份验证(账号密码登录):
from langchain.sql_database import SQLDatabase

server = "你的服务器名称/实例名"
database = "目标数据库名"
username = "数据库账号"
password = "数据库密码"
driver = "ODBC+Driver+17+for+SQL+Server"  # 推荐使用17及以上版本驱动

db_uri = f"mssql+pyodbc://{username}:{password}@{server}/{database}?driver={driver}"
db = SQLDatabase.from_uri(db_uri)
  • Windows身份验证(信任连接):
db_uri = f"mssql+pyodbc://{server}/{database}?driver={driver}&trusted_connection=yes"
db = SQLDatabase.from_uri(db_uri)

3. 完整代理初始化代码

from langchain.agents import create_sql_agent, AgentExecutor
from langchain.agents.agent_toolkits import SQLDatabaseToolkit
from langchain.agents.agent_types import AgentType
from langchain.chat_models import ChatOpenAI

# 上述db初始化代码
toolkit = SQLDatabaseToolkit(db=db, llm=ChatOpenAI(temperature=0))
agent_executor = create_sql_agent(
    llm=ChatOpenAI(temperature=0, model="gpt-3.5-turbo"),
    toolkit=toolkit,
    verbose=True,
    agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION
)

错误修复(针对IM002错误)

  1. 检查ODBC驱动安装情况:
    打开Windows ODBC数据源管理器(64位),确认存在ODBC Driver 17 for SQL Server或更高版本驱动,无则安装对应驱动。
  2. 修正连接字符串格式:
    原代码中driver{driver}缺少等号,正确格式为driver={driver},且所有占位符需替换为实际值,不能保留{}符号。
  3. 验证访问权限:
    SQL身份验证需确认账号密码正确且有目标数据库访问权限;Windows身份验证需确保运行代码的用户拥有数据库访问权限。
  4. 确认服务器可达性:
    检查SQL Server实例是否允许远程连接,防火墙是否开放默认端口1433。

内容的提问来源于stack exchange,提问作者Mutasim Al-Mualimi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:53:25