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

2 数据库连接管理

3 表名模糊匹配

4 执行批注更新

5 导出CHM文件

6 表结构信息

7 更多格式的效果,请下载体验哈
!!
查看chm效果:某微信开发框架表结构信息(示例).chm
发行历史
贡献者
️下载使用
下载发行版本,下载解压后,双击运行
DBCHM.exe。下载最新功能的内测版本,Bug修复早知道,最新功能尝鲜,请在
共享中获取
!
其他工具
开发计划
- 收集问题,修复完善基础功能
- MJTop.Data 类库完善
- 测试数据生成器
- C#实体代码生成器
- ...
常见问题
连接不上,怎么办?
连接数据库界面填写的连接信息真的正确无误?数据库服务器有防火墙/安全组限制?- 用 Navicat Premium 连接数据库服务器试试!
连接数据库时,点了
连接/测试,半天没响应?可能是连接远程数据库网络不好的原因,可以把
连接超时设置的小一些。dbchm可以连接上,但显示不了数据怎么办?
表列的批注数据我想迁移,怎么办?
- 使用 dbchm 的
XML导出,对当前数据库的批注数据 就会导出一个xml文件。 - 点
数据连接, 切换至 目标数据库连 - 再用
批注上载就可以选择刚刚的xml文件,如果数据库表结构相同,批注就会更新到目标数据库服上。
- 使用 dbchm 的
数据库比较老,如
Sql Server 2000,怎么使用dbchm?- 下载安装 Navicat Premium
- 连接上老旧的数据库服务器,将数据库表结构脚本导出。
- 找一台高版本的数据库服务器,新建一个临时数据库,将导出的脚本导入。
- 然后用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等,使用者可根据需要自行设置。

注意:改完后其他相关用户的密码必须重置,或直接更新为原来的密码也是可以的(修改密码sql示例:alter user System identified by oldpassword;),此项操作慎重。
要么在建库的初期添加此参数,然后重置相关密码;要么新建测试环境,进行此项操作。
- 其他问题
如遇其他问题,可以通过Issues或群里反馈,记录问题,请写清楚遇到问题的原因、软件版本、系统环境、数据库版本、甚至数据库结构、复显步骤以及期望达到的效果;建议配上多张全屏大图,请勿使用局部截屏小图!方便我们这边可以迅速定位,就事论事,解决问题。
如果你有更好的解决方法,欢迎提供改善建议或直接提pr,我们一起完善该工具!
源码网址:https://gitee.com/dotnetchina/DBCHM
软件下载地址:https://www.aliyundrive.com/s/zJ6EJ2H2sGV
DBCHM -最简单、最实用的数据库文档生成工具的更多相关文章
- 【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
- 【C#附源码】数据库文档生成工具支持(Excel+Htm)
数据库文档生成工具是用C#开发的基于NPOI组件的小工具.软件源码大小不到10MB.支持生成Excel 和Html 两种文档形式.了解更多,请访问:http://www.oschina.net/cod ...
- 基于Mybatis的Mysql数据库文档生成工具,支持生成docx(原创)
今天不写android--也写写数据库相关的东西 -------------------- 今日老夫闲来无事,设计了一款数据库文档生成工具 眼下仅仅支持mysql 主要是生成docx的 下载链接:下载 ...
- 数据库文档生成工具——word2chm,SqlSpec
首先使用代码生成器可以生成word版本的数据库文档. 转成chm格式的更加小巧和方便~ SqlSpec是个好工具,可以生成所有数据库相关的信息 之后可以一键生成chm文档.
- 基于WPF重复造轮子,写一款数据库文档管理工具(一)
项目背景 公司业务历史悠久且复杂,数据库的表更是多而繁杂,每次基于老业务做功能开发都需要去翻以前的表和业务代码.需要理解旧的表的用途以及包含的字段的含义,表少还好说,但是表一多这就很浪费时间,而且留下 ...
- tbls ci 友好的数据库文档化工具
tbls 是用golang 编写的数据库文档化工具,当前支持的数据库有pg.mysql.bigquery 此工具同时提供了变更对比.lint 校验,生成是markdown格式的 简单使用 安装 mac ...
- DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)
前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...
- 如何基于WPF写一款数据库文档管理工具(二)
系列目录 基于WPF重复造轮子,写一款数据库文档管理工具(一) 本篇重点 上次发表了基于WPF重复造轮子,写一款数据库文档管理工具(一) 得到不少人支持,文章一度上到了博客园推荐表首页,看来大家对这个 ...
- .NET平台开源项目速览(4).NET文档生成工具ADB及使用
很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...
随机推荐
- Sentry 开发者贡献指南 - 什么是 Scope, 什么是 Hub?
当一个事件被捕获并发送到 Sentry 时,SDK 会将该事件数据与来自当前 scope 的额外信息合并.SDK 通常会在框架集成中为您自动管理 scope,您无需考虑它们.但是,您应该知道 scop ...
- CSS快速入门(三)
目录 字体相关调整 背景相关调整 控制背景平铺 调整背景图像的大小 边框属性 圆与圆角 盒模型 块级盒子(Block box) 和 内联盒子(Inline box) display属性 盒子模型 盒模 ...
- 🏆【Alibaba中间件技术系列】「RocketMQ技术专题」系统服务底层原理以及高性能存储设计分析
设计背景 消息中间件的本身定义来考虑,应该尽量减少对于外部第三方中间件的依赖.一般来说依赖的外部系统越多,也会使得本身的设计越复杂,采用文件系统作为消息存储的方式. RocketMQ存储机制 消息中间 ...
- 【程序6】用*号输出字母C的图案
我自己写的 print(' * * *\n'); print(' * \n'); print(' * \n'); print(' * * * *\n'); 官方答案 print('*' * 10) f ...
- 为什么 Redis 的查询很快, Redis 如何保证查询的高效
Redis 如何保证高效的查询效率 为什么 Redis 比较快 Redis 中的数据结构 1.简单动态字符串 SDS 对比 c 字符串的优势 SDS可以常数级别获取字符串的长度 杜绝缓冲区溢出 减少修 ...
- ES_AutoCheck.sh
#!/bin/bash #@es_check #@date 2019/11/26 #@auth tigergao status=`curl -s GET "http://172.16.71. ...
- a-b转换A-B
- 学习Java第6天
今天所做的工作: 1.完成学生信息管理系统样卷 2.核心技术接口继承,多态 明天工作安排: 1.类的高级特性(Java类包) 2.异常处理 今天做一个小小的总结,Java程序是完全面向对象的,它的所有 ...
- python初学笔记之列表推导式
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表.注意:简而言之,就是把普通的多行for循环压缩成一行代码,这种压缩语法适用于列表.字典.集合等可迭代数据结构(iterables).创建 ...
- 斯坦福 CS183 & YC 创业课系列中文笔记
欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 目录 Zero to One 从0到1 ...