数据库访问

本文介绍 数据库访问 组件的功能、配置方法、变量以及可连接的组件类型。

组件介绍

数据库访问 组件用于在通话流程中连接 PBX 本地数据库或第三方数据库,执行数据查询或写入操作。执行结果存储在变量中,可作为后续组件的输入或用于条件判断。

支持的数据库类型
  • Microsoft SQL
  • PostgreSQL
  • MySQL
  • Oracle
支持的 SQL 语句
  • Query
  • NonQuery
  • Scalar

组件配置

  1. 添加 开发者组件 至通话流程后,点击组件进行配置。

  2. 组件类型 下拉列表中,选择 数据库访问

  3. 数据库类型 下拉列表中,选择数据库类型。

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

  5. 配置 SQL 操作和超时设置。
    项目 说明
    语句类型 选择 SQL 操作类型。
    • Query:执行查询操作, 返回一条或多条记录 (如 SELECT)。
    • NonQuery:执行修改操作,不返回记录 (如 INSERT、DELETE、UPDATE)。
    • Scalar:执行查询操作,返回单个数值 (如 SUM、COUNT)。
    超时时长 (秒) 设置等待 SQL 操作执行的最长时间,超时则停止尝试。
    SQL 语句 输入要执行的 SQL 语句。
    注:
    • 对于 Microsoft SQL ServerPostgreSQL,SQL 语句需包含 schema 名称。

      假设 schema 为 pbx,应填写 SELECT * FROM pbx.user;

    • 支持配置表达式动态获取数据。

      示例SELECT email_addr FROM extension WHERE number='$Session.ani';

      在本例中,系统根据来电号码查询对应的邮箱地址。

      注: 更多关于表达式的信息,请参见 支持的变量和函数
    • 如果输入多个 SQL 语句,仅执行第一条。
  6. 点击右下角的 确认

组件变量

在通话流程中添加 数据库访问 组件后,系统将数据库信息存储至变量中。这些变量可以在支持表达式的组件中 (如 条件 组件、开发者 组件) 调用,以根据查询结果控制流程。

注: 由于同一通话流程中可添加多个 数据库访问 组件,系统会按照添加顺序为每个组件编号 (如数据库访问 1、数据库访问 2)。为确保正确获取到指定组件的输出结果,使用变量时需带上对应的编号。
变量 类型 说明 示例值
$DatabaseAccess{index}.queryResult Object

查询语句返回的结果集 (表格形式)。

提示: 你可以结合以下函数,从查询结果中获取具体数据:
  • GET_TABLE_ROW_COUNT(table):获取表格的总行数。
  • GET_TABLE_CELL_VALUE(table,row,column):获取指定行和列的单元格值。
"demo%40yeastar.com"
$DatabaseAccess{index}.nonQueryResult Integer 非查询语句返回的受影响的行数。 99
$DatabaseAccess{index}.scalarResult String Scalar 查询语句返回的单一值。 "10"

组件连接

数据库访问 组件可连接 一个 组件,可选组件详见下表。

组件 说明
提示音

提示音 组件支持播放音频或将文本转为语音播放。

更多信息,请参见 提示音

办公时间

办公时间 组件支持根据不同时间将来电路由至对应的目的地。

更多信息,请参见 办公时间

菜单 菜单 组件用于向来电者提供多个菜单选项,并根据其按键输入路由来电。

更多信息,请参见 菜单

用户输入

用户输入 组件用于收集来电者的按键输入,通常与 条件 组件配合使用,以判断用户输入并路由来电。

更多信息,请参见 用户输入

语言

语言 组件用于更改其后续组件所使用的系统提示音语言,从而覆盖默认语言设置。

更多信息,请参见 语言

录音 录音 组件可用于在来电者与另一方建立通话后对通话进行录音。你可以设置提示音或文本转语音内容,在录音开始前或录音期间播放,告知通话双方正在录音。

该组件也可用于禁用通话录音,从而覆盖系统对通话的默认录音设置。

更多信息,请参见 录音

按号码拨打

按号码拨打 组件用于引导来电者通过输入号码将来电转接至指定的目的地,实现快速呼叫。

更多信息,请参见 按号码拨打

按名称拨打

按名称拨打 组件是通话流程中的一种结束组件,来电者可通过输入目标分机用户姓名的前三个字母,快速查找并转接至该用户。

更多信息,请参见 按名称拨打

转移

转移 组件是通话流程中的一种结束组件,用于终止来电者与当前通话流程的连接,并将其盲转至指定目的地。转接前可播放提示音,提示来电者通话即将转移。

更多信息,请参见 转移

挂断

挂断 组件是通话流程中的一种结束组件,用于终止来电者与当前通话流程的连接。当来电者进入该组件时,系统会挂断通话。

更多信息,请参见 挂断

条件 条件 组件支持基于表达式进行逻辑判断,根据判断结果对来电进行路由。

更多信息,请参见 条件

循环 循环 组件支持重复执行多个组件,直到达到指定的循环次数或满足设定的条件。

更多信息,请参见 循环

开发者 开发者组件 用于连接 PBX 或第三方数据库,执行数据查询或写入操作。