项目介绍

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 数据库连接配置示例

2 数据库连接管理

3 表名模糊匹配

4 执行批注更新

5 导出CHM文件

6 表结构信息

7 更多格式的效果,请下载体验!!

查看chm效果:某微信开发框架表结构信息(示例).chm

发行历史

​ ReleaseNote

贡献者

️下载使用

其他工具

  • 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等,使用者可根据需要自行设置。

    注意:改完后其他相关用户的密码必须重置,或直接更新为原来的密码也是可以的(修改密码sql示例:alter user System identified by oldpassword;),此项操作慎重。

    要么在建库的初期添加此参数,然后重置相关密码;要么新建测试环境,进行此项操作。

    • 其他问题

    如遇其他问题,可以通过Issues或群里反馈,记录问题,请写清楚遇到问题的原因、软件版本、系统环境、数据库版本、甚至数据库结构、复显步骤以及期望达到的效果;建议配上多张全屏大图,请勿使用局部截屏小图!方便我们这边可以迅速定位,就事论事,解决问题。

    如果你有更好的解决方法,欢迎提供改善建议或直接提pr,我们一起完善该工具!

源码网址:https://gitee.com/dotnetchina/DBCHM

软件下载地址:https://www.aliyundrive.com/s/zJ6EJ2H2sGV

DBCHM -最简单、最实用的数据库文档生成工具的更多相关文章

  1. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  2. 【C#附源码】数据库文档生成工具支持(Excel+Htm)

    数据库文档生成工具是用C#开发的基于NPOI组件的小工具.软件源码大小不到10MB.支持生成Excel 和Html 两种文档形式.了解更多,请访问:http://www.oschina.net/cod ...

  3. 基于Mybatis的Mysql数据库文档生成工具,支持生成docx(原创)

    今天不写android--也写写数据库相关的东西 -------------------- 今日老夫闲来无事,设计了一款数据库文档生成工具 眼下仅仅支持mysql 主要是生成docx的 下载链接:下载 ...

  4. 数据库文档生成工具——word2chm,SqlSpec

    首先使用代码生成器可以生成word版本的数据库文档. 转成chm格式的更加小巧和方便~ SqlSpec是个好工具,可以生成所有数据库相关的信息 之后可以一键生成chm文档.

  5. 基于WPF重复造轮子,写一款数据库文档管理工具(一)

    项目背景 公司业务历史悠久且复杂,数据库的表更是多而繁杂,每次基于老业务做功能开发都需要去翻以前的表和业务代码.需要理解旧的表的用途以及包含的字段的含义,表少还好说,但是表一多这就很浪费时间,而且留下 ...

  6. tbls ci 友好的数据库文档化工具

    tbls 是用golang 编写的数据库文档化工具,当前支持的数据库有pg.mysql.bigquery 此工具同时提供了变更对比.lint 校验,生成是markdown格式的 简单使用 安装 mac ...

  7. DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)

    前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...

  8. 如何基于WPF写一款数据库文档管理工具(二)

    系列目录 基于WPF重复造轮子,写一款数据库文档管理工具(一) 本篇重点 上次发表了基于WPF重复造轮子,写一款数据库文档管理工具(一) 得到不少人支持,文章一度上到了博客园推荐表首页,看来大家对这个 ...

  9. .NET平台开源项目速览(4).NET文档生成工具ADB及使用

    很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...

随机推荐

  1. 【初体验】valgrind分析程序性能

    wget https://fossies.org/linux/misc/valgrind-3.15.0.tar.bz2 tar -jxvf valgrind-3.15.0.tar.bz2 cd val ...

  2. jQuery ajax get与post后台交互中的奥秘

    这两天在做关注功能模块(类似于Instagram).多处页面都需要通过一个"关注"按钮进行关注或者取消该好友的操作.一个页面对应的放一个按钮,进行操作.效率低维护性差.因此想通过j ...

  3. MyCms 开源自媒体系统,系统配置字段说明

    功能说明 站点名称:站点的简要描述名称,没有启用SEO插件时,将用此字段用作站点标题. 站点地址:站点的完整地址(包含 http/https),此字段有多处依赖用于生成链接,请正确填写. 站点logo ...

  4. lua之自索引

    Father={ a=100, b=200 } function Father:dis() print(self.a,self.b) end Father.__index=Father Son= { ...

  5. golang中的标准库http

    Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现. http客户端 基本的HTTP/HTTPS请求 Get.Head.Post和PostForm函数发出HTTP/HTTP ...

  6. 通俗易懂详解iptables

    防火墙相关概念 从逻辑上讲.防火墙可以大体分为主机防火墙和网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网. ...

  7. Node.js下载安装与配置(windows)

    一.Node.js下载 官网下载地址:下载 | Node.js 中文网 (nodejs.cn) 以Windows64位安装版为例,点击"Windows 安装包(.msi)"右侧的& ...

  8. springboot+atomikos+druid 数据库连接失效分析

    一.起因 最近查看系统的后台日志,经常发现这样的报错信息:The last package successfully received from the server was 40802382 mil ...

  9. Go 记录一次groutine通信与context控制

    需求背景: 项目中需要定期执行任务A来做一些辅助的工作,A的执行需要在超时时间内完成,如果本次执行超时了,那就不对本次的执行结果进行处理(即放弃这次执行).同时A又依赖B,C两个子任务的执行结果.B, ...

  10. Linux发行版·常见Linux系统下载

    本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...