数据库访问
本文介绍 数据库访问 组件的功能、配置方法、变量以及可连接的组件类型。
组件介绍
数据库访问 组件用于在通话流程中连接 PBX 本地数据库或第三方数据库,执行数据查询或写入操作。执行结果存储在变量中,可作为后续组件的输入或用于条件判断。
- 支持的数据库类型
-
- Microsoft SQL
- PostgreSQL
- MySQL
- Oracle
- 支持的 SQL 语句
-
- Query
- NonQuery
- Scalar
组件配置
- 添加 开发者组件 至通话流程后,点击组件进行配置。

- 在 组件类型 下拉列表中,选择
数据库访问。

- 在 数据库类型 下拉列表中,选择数据库类型。

- 填写以下信息,连接数据库。

- 配置 SQL 操作和超时设置。
项目 说明 语句类型 选择 SQL 操作类型。 - Query:执行查询操作, 返回一条或多条记录 (如 SELECT)。
- NonQuery:执行修改操作,不返回记录 (如 INSERT、DELETE、UPDATE)。
- Scalar:执行查询操作,返回单个数值 (如 SUM、COUNT)。
超时时长 (秒) 设置等待 SQL 操作执行的最长时间,超时则停止尝试。 SQL 语句 输入要执行的 SQL 语句。 注:- 对于 Microsoft SQL Server 和
PostgreSQL,SQL 语句需包含 schema 名称。
假设 schema 为 pbx,应填写 SELECT * FROM pbx.user;。
- 支持配置表达式动态获取数据。
示例:
SELECT email_addr FROM extension WHERE number='$Session.ani';在本例中,系统根据来电号码查询对应的邮箱地址。
注: 更多关于表达式的信息,请参见 支持的变量和函数。 - 如果输入多个 SQL 语句,仅执行第一条。
- 点击右下角的 确认。
组件变量
在通话流程中添加 数据库访问 组件后,系统将数据库信息存储至变量中。这些变量可以在支持表达式的组件中 (如 条件 组件、开发者 组件) 调用,以根据查询结果控制流程。
| 变量 | 类型 | 说明 | 示例值 |
|---|---|---|---|
| $DatabaseAccess{index}.queryResult | Object |
查询语句返回的结果集 (表格形式)。 提示: 你可以结合以下函数,从查询结果中获取具体数据:
|
"demo%40yeastar.com" |
| $DatabaseAccess{index}.nonQueryResult | Integer | 非查询语句返回的受影响的行数。 | 99 |
| $DatabaseAccess{index}.scalarResult | String | Scalar 查询语句返回的单一值。 | "10" |
组件连接
数据库访问 组件可连接 一个 组件,可选组件详见下表。
| 组件 | 说明 |
|---|---|
| 提示音 |
提示音 组件支持播放音频或将文本转为语音播放。 更多信息,请参见 提示音。 |
| 办公时间 |
办公时间 组件支持根据不同时间将来电路由至对应的目的地。 更多信息,请参见 办公时间。 |
| 菜单 | 菜单
组件用于向来电者提供多个菜单选项,并根据其按键输入路由来电。 更多信息,请参见 菜单。 |
| 用户输入 |
用户输入 组件用于收集来电者的按键输入,通常与 条件 组件配合使用,以判断用户输入并路由来电。 更多信息,请参见 用户输入。 |
| 语言 |
语言 组件用于更改其后续组件所使用的系统提示音语言,从而覆盖默认语言设置。 更多信息,请参见 语言。 |
| 录音 | 录音
组件可用于在来电者与另一方建立通话后对通话进行录音。你可以设置提示音或文本转语音内容,在录音开始前或录音期间播放,告知通话双方正在录音。 该组件也可用于禁用通话录音,从而覆盖系统对通话的默认录音设置。 更多信息,请参见 录音。 |
| 按号码拨打 |
按号码拨打 组件用于引导来电者通过输入号码将来电转接至指定的目的地,实现快速呼叫。 更多信息,请参见 按号码拨打。 |
| 按名称拨打 |
按名称拨打 组件是通话流程中的一种结束组件,来电者可通过输入目标分机用户姓名的前三个字母,快速查找并转接至该用户。 更多信息,请参见 按名称拨打。 |
| 转移 |
转移 组件是通话流程中的一种结束组件,用于终止来电者与当前通话流程的连接,并将其盲转至指定目的地。转接前可播放提示音,提示来电者通话即将转移。 更多信息,请参见 转移。 |
| 挂断 |
挂断 组件是通话流程中的一种结束组件,用于终止来电者与当前通话流程的连接。当来电者进入该组件时,系统会挂断通话。 更多信息,请参见 挂断。 |
| 条件 | 条件
组件支持基于表达式进行逻辑判断,根据判断结果对来电进行路由。 更多信息,请参见 条件。 |
| 循环 | 循环
组件支持重复执行多个组件,直到达到指定的循环次数或满足设定的条件。 更多信息,请参见 循环。 |
| 开发者 | 开发者组件 用于连接 PBX 或第三方数据库,执行数据查询或写入操作。 |