Zenova 文档

11. 数据连接与查询

完整版章节。内容按 2026.10 主线代码核对;具体入口以当前许可、账号权限和交付环境为准。

返回概览 · 完整版目录 · 下载完整 PDF

本章内容:本章面向数据管理员、租户管理员、智能体编辑者和使用智能体查询数据的成员,说明如何让智能体在受控权限内访问企业数据库。完整路线是:管理员准备只读数据库账号并发布数据服务类型,智能体编辑者在智能体的「应用」中填写连接信息并启用,成员在对话里用业务语言提问、由智能体执行只读查询。读完本章,你还可以按失败提示定位查询问题。

11.1 数据连接的组成与分工

适用场景:第一次规划让智能体访问业务数据,需要明确谁负责哪一步。

一条数据连接由三部分组成:数据服务类型(例如 MySQL)、连接信息与凭据(地址、库名、账号)、使用这条连接的智能体。智能体编辑者在智能体上启用某种数据服务并填好连接信息后,平台一次完成三件事:创建数据连接、部署连接服务、把它绑定到该智能体。连接归属于智能体所在的工作空间。

角色负责的事
:--:--
数据管理员在数据库侧准备只读账号、开放网络访问、确定允许访问的库表和查询范围
租户管理员在「管理后台 › 能力 › MCP 服务」中发布并分发所需的数据服务类型(第 22 章)
智能体编辑者在智能体详情 › 「应用」中启用数据服务、填写连接信息,并在智能体指令中写明数据使用规则
成员在对话中提出范围明确的问题,核对数据来源、筛选条件和结果行数
审计人员在「操作审计」中核对连接的创建、部署、删除和查询执行记录

平台提供的数据服务类型包括 MySQL、PostgreSQL、SQLite、SQL Server、ClickHouse、Redis、Elasticsearch 和 MongoDB。各类型都由智能体通过对应数据服务的工具使用。实际可选的类型以界面为准。

注意:平台会对查询执行只读校验,但这不能替代数据库侧的权限控制。务必使用数据库侧只读账号,让数据库权限与平台只读校验同时生效。

11.2 准备工作

适用场景:在智能体编辑者开始配置之前,由管理员和数据管理员完成的准备。

操作步骤

  1. 数据管理员为平台创建专用的只读数据库账号,只授予需要的库、表或视图的查询权限。
  2. 确认平台所在网络可以访问数据库地址和端口;数据库启用了来源地址白名单时,把平台的出口地址加入白名单。
  3. 租户管理员进入「管理后台 › 能力 › MCP 服务」,确认需要的数据服务类型(如「MySQL」「PostgreSQL」)已发布,并分发给负责配置智能体的成员或其所在部门(发布与分发的完整步骤见第 22 章;数据服务类型在列表中的具体呈现以实际界面为准)。
  4. 整理字段口径说明:常用指标的计算方式、时间字段与时区、金额单位、状态码含义。这些说明稍后写进智能体指令。

你会看到:数据服务类型分发后,智能体编辑者在智能体详情的「应用」页签中能找到对应条目。

注意:数据服务类型没有发布或分发时,创建连接的界面会提示「暂无可连接的数据服务」「请联系平台管理员配置数据服务类型,完成后刷新列表」。

11.3 为智能体连接数据库

适用场景:让某个业务智能体能够查询一套业务数据库。

前提:你是该智能体的编辑者,并拥有智能体所在工作空间的编辑权限;第 11.2 节的准备已完成;手上有数据库地址、端口、库名和只读账号。

操作步骤

  1. 打开目标智能体的详情页,切换到「应用」页签。
  2. 找到要使用的数据服务(例如「PostgreSQL」),打开开关。
  3. 在弹出的配置对话框中填写连接信息。以关系型数据库为例,常见字段有「连接名称」「数据库地址」「端口」「数据库名」「用户名」「密码」;各类型的具体字段以对话框为准。账号和密码只填写在对应的敏感字段中,不要写进智能体指令或描述。
  4. 选择「测试连接」,确认连通后再保存。测试失败时按提示检查地址、端口、网络、账号和库名。
  5. 保存后页面提示「配置已保存」;智能体正在运行时还会提示「正在应用新配置…」,稍候即可生效。
  6. 在智能体指令中补充数据使用规则,例如:只查询订单相关表;统计金额时以「元」为单位;时间范围缺失时先向用户确认,不要默认查询全表。

你会看到

  • 「应用」页签中该数据服务显示为已启用,状态标记表明是否可用或仍需补充配置。
  • 通过智能体创建的连接默认为「只读模式」:智能体只能查询数据,不能修改。

注意:

  • 修改已启用连接的地址或凭据时,在同一行重新打开配置对话框修改并保存,平台会重启该连接使新配置生效。
  • 一个智能体可以同时启用多个数据服务;每个数据服务对应一条独立的连接和独立的凭据。

11.4 在对话中查询数据

适用场景:成员用业务语言向智能体提出数据问题,得到查询结果、汇总表或图表。

前提:智能体已按第 11.3 节启用数据服务;你有权使用该智能体。

操作步骤

  1. 打开已连接数据库的智能体,新建对话。
  2. 在问题中写明指标、时间范围、组织范围、分组方式和期望的输出形式,例如:「统计 2026 年第三季度华东区各门店的订单金额,按月份分组,输出表格并附上所用的筛选条件」。
  3. 智能体需要补充口径时(例如「订单金额是否含退款」),确认字段含义、单位、空值和时间边界后再继续。
  4. 查看回答中的数据来源、筛选条件、结果行数;对话中显示的工具调用可展开核对实际执行的查询。
  5. 需要调整范围时直接追问,让智能体重新查询;不要手工修改结果后当作原始数据使用。
  6. 需要表格文件或图表时,让智能体生成 Excel、CSV 或图片文件,生成的文件可在对话中预览,并在文件空间中找到(导出与核对方法见第 12 章)。

你会看到

  • 智能体调用数据服务的查询工具,对话中显示工具调用过程和返回结果,具体展示方式以实际界面为准。
  • 只读连接上的写入、删除、修改类语句会被拒绝。

注意:

  • 查询结果有行数和大小上限,大范围数据请增加时间、主键或业务条件分批查询,不要通过反复导出绕过限制。
  • 表格、图表或文件生成失败时,查询本身可能已经成功。分别核对查询结果和文件产物,避免重复执行开销较大的查询。

11.5 查询安全规则与失败处理

适用场景:查询被拒绝或结果异常,需要判断原因。

平台对经数据连接执行的查询施加以下控制:只读连接拒绝写操作;查询必须在连接处于「运行中」时执行;结果有行数与大小上限;扫描风险较高的查询会被检查并可能被拦截;查询执行写入操作审计。

现象处理方式
:--:--
「测试连接」失败检查数据库地址、端口、网络连通、白名单、账号、密码和数据库名
连接不可用在智能体详情「应用」页签重新打开该数据服务的配置对话框,「测试连接」后保存,平台会重启该连接;仍不可用时联系管理员
提示连接必须处于运行中才能查询确认智能体处于运行状态;在「应用」页签重新保存该数据服务配置,稍候再试
写操作被拒绝不要绕过;改为只读查询,写入需求走受控的业务接口
扫描范围过大被拦截增加时间、主键或业务范围条件,使用有索引的字段并限制返回行数
结果被截断或过大缩小范围或分批查询
数据库返回超时优化查询条件和索引;必要时请数据库管理员查看执行计划
智能体「应用」中找不到数据服务请管理员发布并分发该数据服务类型(第 11.2 节)

能力说明

不提供的能力替代做法
:--:--
通过智能体修改数据库数据保持只读模式;写入需求通过受控的业务接口或 API 服务实现(第 22 章)
任意跨库 SQL 关联在数据库侧建立汇总视图,或让智能体分别查询后在对话中汇总
不经查询直接让智能体整库扫描在智能体指令中要求带时间和业务范围条件,由数据管理员提供推荐查询口径
集中查看全部数据连接、按部门或岗位配置行级访问策略在各智能体详情 › 「应用」中逐个维护连接;按部门或岗位隔离数据时,在数据库侧为不同场景准备不同的只读账号或视图
交互式 SQL 查询工作区由智能体通过对应数据服务的工具查询,在对话中展开工具调用核对实际执行的查询

---

上一章:10. 文件与企业知识 · 下一章:12. 文档、表格与报告