用友网络 · AI与数据业务部
数据智能引擎组 · 官方技术文档
v1.0.0
Yonyou Data Intelligence

数据平台助手

一套数据接入与元数据查询双引擎:db-connect 负责多数据库只读连接,元数据查询 负责「字段出处 / 表字段注释 / 业务单据存储 / 实时库表遍历 / OpenAPI 接口」查询。全部只读、可脚本化、AI 友好。

正式发布 11 种数据库 1810 表 / 92700 字段字典 2026-09-23
A

db-connect 多数据库只读连接引擎

数据接入底座

概述

一句「连接 XX 数据库」,只读连上目标库——自动选驱动、出库结构摘要、翻译连接错误。支持人读摘要与 JSON 机读两种输出,作为数据接入底座。

CLI / Agent:别名 · --query · --tables · --describe · --json
▼
安全层:assert_readonly 只读拦截 · classify_error 错误分类
▼
驱动层:Hive/MySQL/OceanBase/PG/Greenplum/Oracle/达梦/DuckDB/SQLServer/ClickHouse/HANA
▼
账密层:profiles.yml ∪ credentials.yml(深合并,git-ignored)

数据库矩阵

type数据库驱动端口状态
hiveHive (Spark Thrift)pyhive10000已装
oceanbaseOceanBasepymysql/mysql.connector2881已装
mysqlMySQL 8.0pymysql/mysql.connector3306已装
duckdbDuckDBduckdb—已装
postgres / greenplumPostgreSQL / Greenplumpsycopg25432按需
oracleOracleoracledb1521按需
dameng达梦 DM(国产化)dmPython5236按需
sqlserver / clickhouse / hanaSQLServer / ClickHouse / SAP HANApymssql / clickhouse-connect / hdbcli—按需

快速开始

# 连接 Hive,出库结构摘要
python db_connect.py hive
python db_connect.py hive --query "SELECT * FROM dmp_ods.ods_sap_bkpf LIMIT 5"
python db_connect.py hive --describe dmp_ods.ods_sap_bkpf
python db_connect.py hive --query "SELECT 1" --json

JSON API 契约

命令返回结构
--query{success, alias, sql, columns[], rows[][], row_count, truncated}
摘要{success, alias, type, host, port, database, description, databases[], tables[], table_count}
失败{success:false, category, hint}

错误码表

category触发(示例)排查
无账密别名未存储--list 或发账密
连接超时ORA-12170网络/防火墙/端口
账号或密码错误MySQL 1045 / ORA-01017核对账密
权限不足MySQL 1044 / ORA-01031找 DBA
驱动缺失ImportErrorpip install
只读拦截写语句只放行查询

报表 SQL 链路衔接

对齐 BIP 旗舰版 iuap-c-db-query,作报表 SQL 校验后端:

iuap-c-report-sqlgen 生成 SQL
▼
db_connect.py <别名> --query "<SQL>" --json
▼
回传 {success, columns, rows} 判定通过与否
B

元数据查询

元数据底座

概述

三个可复用脚本,覆盖五类元数据需求。与 db-connect 配套:db-connect 连库查数据,本助手查元数据、查字典、查接口。

能力脚本用途
① 静态元数据query_meta.py查内置字典:字段出处 / 注释 / 单据存储 / 血缘
② 实时元数据live_meta.py连库实时遍历表 / 字段 / 指标逻辑
③ OpenAPI 查询openapi_query.py接口清单检索 / 调用指引

① 静态元数据查询(内置数据字典)

查询两个内置字典,无需连库:BIP/NC 最新数据字典(1810 表 / 92700 字段)+ BIP V5 部署系统元数据(OceanBase 65 库)。

# 字段出自哪些表
python query_meta.py --field bankaccountno
# 表字段注释 / 按中文反查 / 单据存储 / 血缘
python query_meta.py --table cmp_bankaccount
python query_meta.py --comment 银行账号
python query_meta.py --doc 现金管理
python query_meta.py --lineage cmp_bankaccount
python query_meta.py --list-modules
价值:字段级**中文注释** + **外键血缘**(8953 条外键关系),改数影响面、字段反查一查即得。

② 实时数据库元数据查询(复用 db-connect)

连接数据库实时遍历库表、查字段出处与含义,支持与字典交叉核对。

python live_meta.py --alias oceanbase_ads --field invoice_no
python live_meta.py --alias oceanbase_ads --table ads_fi_zsdr005
python live_meta.py --alias oceanbase_ads --traverse dmp_ads
python live_meta.py --alias hive --tables

③ OpenAPI 接口查询

查询 BIP OpenAPI 接口清单与调用规范(Token/签名/URI/入参出参),支持与①②交叉。

python openapi_query.py --list
python openapi_query.py --search 元数据
python openapi_query.py --howto
真实 OpenAPI 调用需 BIP 环境的 Token/签名;脚本检索本地清单 + 给调用指引,不硬编码密钥。

交叉查询(核心价值)

① query_meta --field invoice_no → 定位 ads_fi_zsdr005
▼
② live_meta --table ads_fi_zsdr005 → 看现场字段
▼
③ openapi_query --search 发票 → 找接口

一次「字典 → 库 → 接口」全链路,回答「字段在哪、含义是什么、怎么调接口取它」。

数据字典说明

字典内容更新
业务数据字典(SQLite)BIP/NC 资金产品 10 模块 1810 表 / 92700 字段,含主外键产品文档更新时重导出
系统元数据(JSON)OceanBase 65 库 + dmp_ads 字段级重跑 gen_data_dict.py
注意:业务字典缺 FBM_* 票据表;字典是快照,库结构变了要更新。