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,我们一起完善该工具!