Skip to content
加入微信交流群
微信交流群二维码

外部数据源

概述


外部数据源用于连接平台以外的业务数据库,并通过外部数据模型编写 SQL 查询外部数据。配置完成后,可以在工作台中输入查询条件并查看查询结果,无需将外部数据库中的数据同步到平台数据库。

外部数据源支持 MySQL、Oracle、SQL Server、达梦和 PostgreSQL。外部数据模型仅用于查询数据,不支持通过 SQL 新增、修改或删除外部数据库中的数据。

使用流程

先创建外部数据源并测试数据库连接,再创建外部数据模型、编写查询 SQL,最后解析 SQL 参数和查询字段。模型保存并启用后,即可进入工作台查询外部数据。

应用场景


场景1

企业已有 ERP、CRM、WMS 等业务系统时,可以通过外部数据源连接这些系统的数据库,并将所需数据以查询列表的形式提供给平台用户使用,无需重复录入或同步数据。

场景2

开发人员需要在仪表盘、报表或其他业务功能中使用第三方数据库数据时,可以先创建外部数据模型,对外部数据进行统一查询和字段展示。

新建外部数据源


新建外部数据源

  1. 通过开发中心--外部集成--外部数据源进入该模块。
  2. 点击新建,输入数据源名称。
  3. 选择数据源类型。支持 MySQL、Oracle、SQL Server、达梦和 PostgreSQL。
  4. 设置是否禁用。选择“否”时,该数据源可以正常使用。
  5. 输入数据库的 JDBC 连接地址、数据库账号和数据库密码。
  6. 点击测试链接,确认平台能够正常访问目标数据库。
  7. 测试通过后点击保存,完成外部数据源创建。

注意

  1. 请确保平台部署环境能够访问外部数据库的地址和端口,并确认数据库防火墙、白名单及账号权限配置正确。
  2. 建议为外部数据源配置独立的只读数据库账号,仅授予查询所需的最小权限。
  3. 数据库连接信息涉及账号和密码,请勿向无关人员泄露。

新建外部数据模型


新建外部数据模型

  1. 通过开发中心--外部集成--外部数据模型进入该模块。
  2. 点击新建,输入模型名称并选择已经创建的外部数据源。
  3. 设置是否禁用。选择“否”时,该模型可以正常使用。
  4. 在 SQL 文本区域编写查询语句。外部数据模型只支持查询,请使用 SELECT 语句。
  5. SQL 参数使用 :参数名 的形式声明,例如:
sql
SELECT *
FROM t_user
WHERE userName LIKE :userName
  1. 点击 SQL解析,系统会根据 SQL 识别参数,并解析 SELECT 语句返回的查询字段。

配置 SQL 参数和查询字段


配置SQL参数和查询字段

SQL 解析完成后,需要继续配置 SQL 参数和查询字段。

SQL 参数

每个 SQL 参数可以配置以下内容:

  • 参数显示名称:显示在工作台查询条件中的名称。
  • 参数名称:来自 SQL 中的 :参数名,例如 :userName 对应的参数名称为 userName
  • 参数类型:支持文本、日期时间、日期、数字和文本(模糊)。
  • 必填:控制用户查询时是否必须输入该参数。
  • 默认值:设置参数在查询页面中的默认内容。

当查询条件需要模糊匹配时,将参数类型设置为“文本(模糊)”,并在 SQL 中配合 LIKE 使用:

sql
SELECT userName, loginName, jobTitle
FROM t_user
WHERE userName LIKE :userName

非必填参数

系统只会将页面输入的参数值替换到 SQL 参数中,不会因为参数未填写而自动删除条件或改写 SQL。如果参数设置为非必填,需要在 SQL 中自行处理参数为空的情况。例如:

sql
SELECT userName, loginName, jobTitle
FROM t_user
WHERE (
    :userName IS NULL
    OR :userName = ''
    OR userName LIKE :userName
)

在上述示例中,userName 可以设置为非必填。用户未填写参数时查询全部数据;填写参数时,SQL 按用户名进行模糊查询。

提示

不同数据库处理空字符串和空值的方式可能存在差异。使用非必填参数时,请根据 MySQL、Oracle、SQL Server、达梦或 PostgreSQL 的实际语法调整空值判断,并在保存前验证查询结果。

查询字段

查询列表包含哪些字段,取决于 SELECT 语句查询了哪些字段。查询字段不能脱离 SQL 单独增加或删除,但可以为解析出的字段设置显示名称,使列表表头更容易理解。

例如:

sql
SELECT userName, loginName, jobTitle
FROM t_user

查询列表中将包含 userNameloginNamejobTitle 三个字段。可以分别将它们的显示名称设置为“用户名称”“登录名称”和“职务”。如果需要增加或减少查询字段,应先修改 SELECT 语句,再重新进行 SQL 解析。

配置完成后,点击保存即可创建外部数据模型。

外部数据模型管理


外部数据模型列表

外部数据模型列表展示模型名称、所使用的数据源、启用状态等信息,并提供以下操作:

  • 启用:通过启用开关控制数据模型是否可以使用。
  • 查看数据:进入工作台,使用当前模型查询外部数据。
  • 编辑:修改模型名称、数据源、SQL、参数及字段显示名称。
  • 查看:查看数据模型的具体配置。
  • 删除:删除不再使用的数据模型。

查询外部数据


查询外部数据

  1. 在外部数据模型列表中点击查看数据,进入工作台查询页面。
  2. 页面顶部会根据 SQL 参数配置生成查询条件,并使用参数显示名称作为条件名称。
  3. 输入查询条件后点击查询,系统使用参数替换 SQL 中对应的 :参数名,并执行查询。
  4. 查询结果列表展示 SELECT 语句返回的字段,列表表头使用数据模型中配置的字段显示名称。
  5. 点击重置,可以清空查询条件并恢复默认状态。

查询安全

外部数据模型仅用于读取外部数据库数据。编写 SQL 时应避免查询无关的敏感字段,并合理设置查询条件,防止一次查询返回过多数据而影响外部数据库及平台性能。