DBCHM|DBCHM -最简单、最实用的数据库文档生成工具

项目介绍 DBCHM 是一款数据库文档生成工具! 该工具从最初支持chm文档格式开始,通过开源,集思广益,不断改进,又陆续支持word、excel、pdf、html、xml、markdown等文档格式的导出。
本项目力求做最简单、最实用的数据库文档(字典)生成工具!
支持的数据库

  • SqlServer
  • MySQL
  • Oracle
  • PostgreSQL
  • DB2
  • SQLite
主要功能 文档的内容都包含什么?
  • 序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明
  • 视图 视图具体内容
  • 存储过程 存储过程具体内容
注:Oracle在v1.8.0.3-beta版本及以后暂不会查询显示自增数据。
支持哪些文档格式的导出?
  • chm
  • word
  • excel
  • pdf
  • html
  • xml
  • markdown
更新表列的注释,有哪些方式?
  • 通过 工具-批注上载,选择文件导入进行更新批注(注释):
    • pdm 由powerdesigner设计数据库时产生。
    • xml 由visual studio设置 实体类库的项目属性,勾选 XML文档文件 后生成项目时产生。
    • xml 由dbchm的 XML导出 而产生。
  • 列批注 在编辑前的选中状态下,可以从 选定行开始 粘贴多行文本内容 对多个列注释批量赋值。
效果展示 1 数据库连接配置示例
DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
文章图片

2 数据库连接管理
DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
文章图片

3 表名模糊匹配
DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
文章图片

4 执行批注更新
DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
文章图片

5 导出CHM文件
DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
文章图片

6 表结构信息
DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
文章图片

7 更多格式的效果,请下载体验哈DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
文章图片
!!
查看chm效果:某微信开发框架表结构信息(示例).chm
发行历史 ? ReleaseNote
贡献者
  • @trycache 主要开发者
  • @空无一物 先驱者
??下载使用
  • 下载发行版本,下载解压后,双击运行 DBCHM.exe
  • 下载最新功能的内测版本,Bug修复早知道,最新功能尝鲜,请在共享中获取DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
    文章图片

其他工具
  • htmlhelp,生成chm文件时,需提前安装。
  • PDMToCHM,将PDM表结构文件导出到CHM文件。
开发计划
  • 收集问题,修复完善基础功能
  • MJTop.Data 类库完善
  • 测试数据生成器
  • C#实体代码生成器
  • ...
常见问题
  • 连接不上,怎么办?
    1. 连接数据库界面填写的连接信息真的正确无误?
    2. 数据库服务器防火墙/安全组限制?
    3. 用 Navicat Premium 连接数据库服务器试试!
  • 连接数据库时,点了 连接/测试 ,半天没响应?
    可能是连接远程数据库网络不好的原因,可以把连接超时设置的小一些。
  • dbchm可以连接上,但显示不了数据怎么办?
    • 导出文档前,数据库使用账号要给予root级别的权限,非root级别账号连接,可能会出现表数据显示不全或数据查询因权限不足,会查不出来数据
    • dbchm有Bug, 提Issue 或 进群里 反馈。
  • 表列的批注数据我想迁移,怎么办?
    1. 使用 dbchm 的 XML导出,对当前数据库的批注数据 就会导出一个xml文件。
    2. 数据连接, 切换至 目标数据库连
    3. 再用批注上载 就可以选择刚刚的xml文件,如果数据库表结构相同,批注就会更新到目标数据库服上。
  • 数据库比较老,如 Sql Server 2000 ,怎么使用dbchm?
    1. 下载安装 Navicat Premium
    2. 连接上老旧的数据库服务器,将数据库表结构脚本导出。
    3. 找一台高版本的数据库服务器,新建一个临时数据库,将导出的脚本导入。
    4. 然后用dbchm连接高版本的数据库服务器。
  • chm文件可以正常导出,但是文件名中文乱码,打开显示 无法访问此页
    这种情况,有一种可能是win系统的区域设置,勾选了
    Beta 版:使用Unicode UTF-8提供全球语言支持 。取消勾选后,可能不存在该问题。
  • Oracle数据库连上之后,一直未响应,像卡死了一样,怎么办?
    因为Oracle的 列是否自增 的sql语句,查询效率比较低,查的比较慢,没有卡死!!请耐心等待!!
注:因Oracle查询自增相当耗时,Oracle在v1.8.0.3-beta版本及以后暂不会查询自增数据。
PS:如果你有更好方法,欢迎提供改善建议,助力?该工具越来越好使!
  • Oracle 11g、Oracle 12c测试连接显示“[28040]ORA-28040:没有匹配的验证协议”?
    目前群里及isuues反馈的问题,可能11g以后的版本均会出现此项问题。
    该问题描述:navicat等工具可以直接连接,但是本程序连接不上有上述问题。
    目前想到的解决问题办法是,需在sqlnet.ora添加设置
    SQLNET.ALLOWED_LOGON_VERSION=8 SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

    参数值可设置8、10等,使用者可根据需要自行设置。
    DBCHM|DBCHM -最简单、最实用的数据库文档生成工具
    文章图片

    注意:改完后其他相关用户的密码必须重置,或直接更新为原来的密码也是可以的(修改密码sql示例:alter user System identified by oldpassword; ),此项操作慎重。
    要么在建库的初期添加此参数,然后重置相关密码;要么新建测试环境,进行此项操作。
    • 其他问题
    如遇其他问题,可以通过Issues或群里反馈,记录问题,请写清楚遇到问题的原因、软件版本、系统环境、数据库版本、甚至数据库结构、复显步骤以及期望达到的效果;建议配上多张全屏大图,请勿使用局部截屏小图!方便我们这边可以迅速定位,就事论事,解决问题。
    如果你有更好的解决方法,欢迎提供改善建议或直接提pr,我们一起完善该工具!
源码网址:https://gitee.com/dotnetchina/DBCHM
【DBCHM|DBCHM -最简单、最实用的数据库文档生成工具】软件下载地址:https://www.aliyundrive.com/s/zJ6EJ2H2sGV

    推荐阅读