10分钟跑通数据库字典导出:手把手从连接数据库到生成CHM文档
2026/8/22 16:05:07 网站建设 项目流程

10分钟跑通数据库字典导出:手把手从连接数据库到生成CHM文档

【免费下载链接】DBCHMDBCHM修改版本,支持导出数据库字典分组 The modified version of dbchm supports exporting database dictionary groups ( chm/word/markdown/html)项目地址: https://gitcode.com/gh_mirrors/db/DBCHM

接手一个老项目,同事问"account 表里 CurBalanceAmount 字段存的是什么",你翻遍代码仓库也没找到表结构文档。DBCHM 解决的就是这个问题:连接数据库,勾选你要的表,一键导出带字段备注的数据库字典文档。

先花30秒认清它

项目说明
定位图形化数据库文档生成工具,把表结构、字段类型、备注导出成规范文档
输出格式CHM、Word、Excel、PDF、Html、XML 共 6 种
支持数据库SQL Server、MySQL、Oracle、PostgreSQL、DB2、SQLite
运行平台Windows(.NET Framework 4.8,双击 exe 即可运行)
适合人群需要交付/维护数据库字典的开发者、DBA

本仓库是 DBCHM 的修改版本,额外支持导出数据库字典分组,即把表按业务模块归类到同一目录下。

动手前

  1. 克隆仓库:
git clone https://gitcode.com/gh_mirrors/db/DBCHM
  1. 关键目录速览:
  • DBChm/:主程序,含界面代码和连接配置样例DBChm/MySql_dbchm_config.ini
  • DocTools/:文档生成核心,按格式输出
  • DocTools/TplFile/:CHM、Html 等格式的模板文件,改样式用
  • MJTop.Data/:各数据库的连接与元数据读取层
  1. 运行前提:装好 .NET Framework 4.8 的 Windows 机器,目标数据库可网络访问,数据库账号有查询元数据权限。

一次完整的实操

第1步:配置数据库连接

启动 DBChm 后,点击工具栏左侧的数据连接按钮,弹出"数据库连接配置"窗口。顶部下拉框选择数据库类型(如 SQL Server),下方列表会显示你保存过的连接。新增或编辑一条连接,填写主机、端口、用户名、密码,点连接测试;测试通过后,窗口中央会显示"正在查询表结构信息,请耐心等待"的加载动画,随后右侧出现可选的数据库下拉列表。

图1:数据连接窗口——选择库类型、填写连接信息、测试并选择目标数据库

注意这一步:连接只影响"能查到什么表",不影响后面导出什么内容。确认目标库已选中后,点保存关闭连接窗口。

第2步:筛选并勾选目标表

主界面左侧是表清单,顶部"查询"框支持表名模糊搜索。输入accv,列表立即过滤出所有匹配的表(如 Account、AccountInfo、EnrollAccount 等)。

图2:表名模糊搜索界面——输入关键字过滤表,右侧可查看和编辑表批注、列批注

此时右侧"列批注"区显示选中表的字段列表。如果某些字段缺少备注,直接在"列批注"列里补上(如给 AccountName 填"账户名称"),点保存固化下来——这些备注会原样写进导出文档。勾选你想导出的表:单张表点前面的复选框,全部要就点"全选",排除临时表就点"反选"再逐个勾选,"过滤"框还能按关键字隐藏表。

第3步:选定格式并导出

表选好后,点工具栏的CHM导出。程序会弹出"另存为文件"对话框,选择保存目录,文件名如订单库_结构信息.chm,保存类型保持.chm,点保存

图3:CHM导出文件保存界面——选择导出格式为.chm并指定保存路径

主界面底部随即出现进度条,右侧状态区滚动显示每张表的生成过程。表多的库需要等一两分钟,看到操作已完成!即导出成功。

图4:导出执行进度界面——底部进度条显示生成状况,完成后提示操作已完成

其余格式同理:点Word导出Excel导出PDF导出Html导出XML导出按钮,各自弹出保存对话框即可。

拿到文档后怎么看

双击生成的 .chm 文件,用 Windows 内置帮助查看器打开:

图5:生成的CHM数据库字典文档——左侧目录树按分组展开,右侧显示表字段详情

左侧"目录树"列出全部表,若配置了分组,表会收在对应分组节点下;顶部"搜索"框支持按表名或表注释查找。定位某张表的字段只需两步:点目录树里的表名,右侧即显示序号、列名、数据类型、长度、主键、默认值、列说明;点击某一行,该行高亮。30 秒内你就能看到"这个字段是什么类型、允不允许空、备注写了什么"。

让它更快更好看

  • 按业务模块分组:数据库字典分组是修改版的核心能力。在DBChm/下新建一个 ini 配置文件,格式参考DBChm/MySql_dbchm_config.ini[config]type=1表示表名匹配,后面每个方括号(如[订单信息])是一个分组,组下列出表名。场景:订单、支付、用户表混在一个库里 → 主界面点加载配置选择该 ini,导出后目录树按分组展开。
  • 改文档样式:CHM 和 Html 用模板渲染,场景:公司要求文档页眉带项目名 → 编辑DocTools/TplFile/chm/下的table.cshtmllist.cshtml等模板文件,重编译 DocTools 项目。
  • 批量导出:把库里要交付的表一次性全选,连点几个导出按钮,CHM、Word、Excel 各出一份。
  • 连接配置保存:连接测试成功后,工具会把该连接存进本地配置,下次启动直接出现在连接列表里,不用再填主机和账号。

避坑记录

  1. 点连接后一直转圈:先确认数据库服务已启动、端口没被防火墙拦,再用命令行客户端(如 sqlplus、mysql)验证同一组账号密码能登录;工具连接超时默认 30 秒,慢网络可在连接里调大。
  2. Oracle 报 ORA-28040 认证失败:这是客户端认证版本不匹配。到数据库服务器改$ORACLE_HOME/network/admin/sqlnet.ora,把SQLNET.ALLOWED_LOGON_VERSION_SERVER_CLIENT都设为 8,再重启监听。参考图:

图6:ORA-28040 排查——修改 sqlnet.ora 的认证版本配置

  1. 导出的表比预期少:检查是否只勾了搜索框过滤后的表、"过滤"框里是否残留了关键字(如copy,bak),清空过滤条件重新勾选。
  2. 备注没进文档:列批注编辑后必须点保存按钮才生效,仅输入不保存不会写进导出结果。

DBCHM 的价值在于把"表结构 + 字段备注"这件事从口头交接变成一份可分发的文件。建议把"表结构变更提交前,先跑一遍导出"写进你的开发 checklist,下次同事再问字段含义时,直接甩文档。

【免费下载链接】DBCHMDBCHM修改版本,支持导出数据库字典分组 The modified version of dbchm supports exporting database dictionary groups ( chm/word/markdown/html)项目地址: https://gitcode.com/gh_mirrors/db/DBCHM

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询