暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据字典生成工具-DBchm

老柴杂货铺 2021-03-31
8960

https://gitee.com/dotnetchina/DBCHM

项目介绍

DBHCM 是一个对数据库文档生成工具!该工具从最初支持chm文档格式开始,通过开源,大家集思广益,不断改进,又陆续支持word、excel、pdf、html、xml、markdown等文档格式的导出。本项目力求做最简单、最实用的数据库文档(字典)生成工具!

支持的数据库

  •  SqlServer

  •  MySQL

  •  Oracle

  •  PostgreSQL

  •  DB2

  •  SQLite

主要功能

  • 对数据库表,列的批注(注释) 获取、编辑、保存。

  • 文档信息包含:序号 | 列名 | 数据类型 | 长度 | 小数位数 | 主键 | 自增 | 允许空 | 默认值 | 列说明

  • 根据文件导入进行更新批注(注释):

    •  pdm 由powerdesigner
      设计数据库时产生。

    •  xml 由visual studio
      设置 实体类库的项目属性,勾选 XML文档文件 后生成项目时产生。

    •  xml 由dbchm
      的 XML导出 而产生。

  • 支持的导出的文件格式:

    •  chm

    •  word

    •  excel

    •  pdf

    •  html

    •  xml

    •  markdown

效果展示

1 数据库连接配置示例

2 数据库连接管理

3 表名模糊匹配

4 执行批注更新

5 导出CHM文件

6 表结构信息

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

贡献者

  • @trycache 主要开发者

  • @空无一物 先驱者

下载使用

  • 下载最新发行版本,下载解压后,双击运行 DBCHM.exe

  • 新功能内测,Bug修复早知道,最新功能尝鲜,请在


其他工具

  • htmlhelp,生成chm文件时,需提前安装。

  • PDMToCHM,将PDM表结构文件导出到CHM文件。

常见问题

  • 连接不上,怎么办?

    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连接高版本的数据库服务器。

  • Oracle数据库连上之后,一直未响应,像卡死了一样,怎么办?
     因为Oracle的 列是否自增
     的sql语句,查询效率比较低,查的比较慢,没有卡死!!请耐心等待!!
     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;),此项操作慎重。

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


文章转载自老柴杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论