351 Star 2.8K Fork 774

dotNET China / DBCHM

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 8.16 KB
一键复制 编辑 原始数据 按行查看 历史
空无一物 提交于 2021-07-05 13:33 . 更新 README.md
DBCHM

DBCHM

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

visual studio 2019 csharp license

🚩 项目介绍

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文件

导出CHM文件

6 表结构信息

表结构信息

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

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

    ORA-28040修改兼容

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

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

    • 其他问题

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

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

🔗交流

  • QQ交流群:加入QQ群 ,推荐点击按钮入群,当然如果无法成功操作,请自行搜索群号132941648进行添加 ),其它疑问或idea欢迎入群交流!
C#
1
https://gitee.com/dotnetchina/DBCHM.git
git@gitee.com:dotnetchina/DBCHM.git
dotnetchina
DBCHM
DBCHM
master

搜索帮助