数据库访问

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

组件介绍

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

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

组件配置

前提条件
  • 获取外部数据库的基本信息,包括服务器地址、端口、数据库名称、用户名和密码。
  • 确保 PBX 可以访问目标外部数据库。
操作步骤
  1. 数据库访问 组件添加至消息流程后,点击组件进行配置。

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

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

  4. 配置 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 contant WHERE number='$Session.contactNumber'; 以返回与客户号码对应的邮箱地址。

      关于函数和变量的更多信息,请参见 支持的变量和函数

    • 如果输入多个 SQL 语句,仅执行第一条。
  5. 在右下角点击 确认

    配置的信息显示在组件上。

  6. 可选: 要在满足组件的分支条件时路由消息会话或触发其他操作,将鼠标悬停在分支上,然后点击 以添加后接组件。

    关于支持连接的组件的更多信息,请参见 组件连接

组件变量

在消息流程中添加 数据库访问 组件后,系统将数据库信息存储至变量中。你可在支持表达式的组件中 (如 条件组件) 使用这些变量查询存储的值,以灵活控制会话。

注: 由于同一消息流程中可添加多个 数据库访问 组件,系统会按照添加顺序为每个组件 ID 编号 (如 Database Access 1、Database Access 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"

组件连接

数据库访问 组件默认包含两个分支 默认目的地超时目的地,每个分支可连接 一个 组件。支持的组件详见下表。

注: 如果一个组件已经连接到分支,且你需要在它们之间插入一个新组件,将鼠标悬停在两者之间的线上,点击 并选择目标组件。选择的组件被自动插入并与两端分别建立连接,无需删除已有连接、添加新组件再手动重连。

结束组件 转移关闭 不能通过此方式插入。

组件 说明
发送消息 发送消息 支持自动向客户发送消息。

更多信息,请参见 发送消息

发送WhatsApp模板消息 发送WhatsApp模板消息 支持使用指定的 WhatsApp 消息模板自动向客户发送消息。
重要: 此组件仅在消息流程仅适用于 WhatsApp 消息渠道类型时可用。

更多信息,请参见 发送WhatsApp模板消息

等待回复 等待回复 组件支持配置等待超时时长,并根据是否收到回复路由消息会话。

更多信息,请参见 等待回复

菜单 菜单 组件可用于向客户提供一组菜单选项,并根据其回复的值路由消息会话。

更多信息,请参见 菜单

办公时间组件

办公时间组件 组件支持根据不同时间将消息会话灵活路由至对应的目的地。

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

等待 等待 组件支持在回复超时时自动将消息会话路由至连接的组件并执行指定的操作。

更多信息,请参见 等待

条件组件 条件组件 组件支持基于逻辑表达式路由消息会话。

更多信息,请参见 条件组件

循环 循环 组件支持基于循环策略重复执行多个组件。

更多信息,请参见 循环

内部数据操作 内部数据操作 组件可用于从 PBX 内部数据库查询数据。
更多信息,请参见以下文章:
发送邮件 发送邮件 组件支持使用配置的邮件服务器自动发送电子邮件并记录发送日志,可用于实时通知。

更多信息,请参见 发送邮件

数据库访问 数据库访问 组件可用于在消息流程中连接第三方数据库,执行数据查询或写入操作。

更多信息,请参见 数据库访问

HTTP请求 HTTP请求 组件可用于向外部 Web 服务器发送 HTTP 请求,实现与第三方应用或服务之间的数据交互。

更多信息,请参见 HTTP请求

转移

转移 可用于将消息会话转移至指定目的地以终止当前会话。

更多信息,请参见 转移

关闭 关闭 组件可用于自动关闭消息会话以终止当前会话。

更多信息,请参见 关闭