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帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...
随机推荐
- vue学习11-监听属性
<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta http ...
- golang中json包序列化与反序列化
package main import ( "encoding/json" "fmt" "reflect" ) type Info stru ...
- Rsync安装配置
一.先准备两台CentOS服务器,假定是 1.172.18.2.225(服务端) 需要配置rsyncd.conf文件 2.172.18.2.227(客户端) 不需要配置rsyncd.conf文件 二. ...
- clickhouse-mysql数据同步
clickhouse版本:22.1.2.2 1.Mysql引擎(不推荐) CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] EN ...
- python 小兵(2)
while 条件: 结构体 if=条件: 等于 while 条件: 结构体 else: print(int(Ture)) 1 print(int(False)) 0 切片顾头不顾尾 prin ...
- Maven的安装、配置与使用
5.Maven 我为什么要学习这个技术? 在JavaWeb开发中,需要使用大量的jar包,我们手动去导入: 如何能够让一个东西自动帮我们导入和配置这个jar包. 由此,Maven诞生! 5.1.Mav ...
- [HNOI2009]双递增序列
不难发现本题贪心是不好做的,可以考虑 \(dp\). 首先的一个想法就是令 \(dp_{i, j, k, l}\) 表示当前选到第 \(i\) 个位置,当前第一个序列选了 \(j\) 个数,当前第一个 ...
- JDK停止工作
问题:在服务器上运行程序,有时会出现JDK已停止工作,如图: 解决:在网上查找了很多资料,主要有以下几点 1.程序冲突,回想近期是否新安装了程序,将该程序进行关闭之后,再运行程序 2.异常未处理,即代 ...
- java基础之设计模式之单例模式
关于单例模式: 单例,即单一实例.因为在一些情况下,某些类的对象,我们只需要一个就可以了,所以我们要用到单例模式. 单例模式的目的是使得一个类中的一个静态对象成为系统中的唯一实例,提供一个访问该实例的 ...
- 推荐一款仿iPhone桌面的代码. ___王朋.
Demo:https://files.cnblogs.com/files/sixindev/LxGridView-master.zip 这是作者原来的效果图,很多东西还需要慢慢学习.作者用的很多类,根 ...