> 文章列表 > 通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

目录

  • 背景
  • 通过PDMan导出word文档
    • 步骤
    • 导出文档格式
      • 自定义格式
    • 导出Word失败问题解决
      • 出错原因:[object Object]
      • 解决方式
  • 通过PowerDesigner导出word文档
    • 导出步骤
    • 导出结果
  • PowerDesigner使用问题记录
    • DSN警告
    • Could not Initialize JavaVM!
    • mysql odbc安装使用
      • 下载安装版,安装好之后,直接可以选到ODBC,成功连接数据库
    • 通过数据库sql文件生成数据库模型步骤
      • File-->Reverse Engineer-->Database
      • Using script files

背景

最近写概要设计,需要填写表属性(下图格式),之前是先建立好数据库,通过软件连接数据库直接导出word文档,五分钟搞定,结果今天花了一下午才搞定(PS:一定要及时做笔记),时间久了都忘了。目前常用的数据库建模软件PDMan和PowerDesigner,都可以实现这个功能,PDMan使用比较简单,但是功能相对也少,没有PowerDesigner强大。今天的下午时间都花在PowerDesigner上了,遇到了不少问题,后来才想起来,之前就是通过PDMan来导出的word文档。接下来进入正题
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

通过PDMan导出word文档

步骤

数据库连接-->数据库逆向解析-->导出文档-->导出WORD

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

导出文档格式

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

自定义格式

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
修改的模板生效了(正常没人会去修改吧,默认的格式一般都能满足使用)
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

导出Word失败问题解决

出错原因:[object Object]

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
错误日志:

========================================================================================
2023-04-17 20:04:31.296 [main] INFO  cn.fisok.pdman.dbconnector.Application - 执行命令:gendocx pdmanfile=D:\\tmp\\测试导出word.pdman.json doctpl=D:\\tmp\\默认模板.docx imgdir=C:\\Users\\lenovo\\Desktop/测试导出word_files/ imgext=.png out=C:\\Users\\lenovo\\Desktop/测试导出word.doc
2023-04-17 20:04:31.296 [main] INFO  cn.fisok.pdman.dbconnector.Application - ========================================================================================
2023-04-17 20:04:31.713 [main] WARN  cn.fisok.pdman.command.impl.GenDocxCommand - 
java.lang.NullPointerException: nullat cn.fisok.pdman.command.impl.AbstractDocCommand.parseEntityReferToMap(AbstractDocCommand.java:150)at cn.fisok.pdman.command.impl.AbstractDocCommand.parseModule(AbstractDocCommand.java:122)at cn.fisok.pdman.command.impl.AbstractDocCommand.parseModules(AbstractDocCommand.java:69)at cn.fisok.pdman.command.impl.GenDocxCommand.exec(GenDocxCommand.java:102)at cn.fisok.pdman.command.impl.GenDocxCommand.exec(GenDocxCommand.java:23)at cn.fisok.pdman.dbconnector.Application.main(Application.java:72)

解决方式

下载jar包进行替换即可
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
替换目录:resources\\app.asar.unpacked\\build\\jar
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
估计高版本的PDMan也没这个错,之前使用导出word功能是没问题的,具体版本不记得了

通过PowerDesigner导出word文档

PowerDesigner导出word文档的方式稍微有点复杂,而且老是卡死,记录一下大致过程吧

导出步骤

  • 和PDMan一样,首先数据模型已经逆向生成好了,点击Report
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
  • 选择report–>New Report
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
  • Report_template 选择none,右边那一栏都为空
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
  • 选择none,就不用手动在一个一个删了,直接选择需要的table和column
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    又卡死了…
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    再试一次拉到
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    右键quick view可以预览,又卡死了…
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    这次试完真拉到了
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    选择要展示的栏位
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    栏位布局
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    导出
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

导出结果

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

PowerDesigner使用问题记录

DSN警告

  • 启动软件时,以管理员身份启动就不会弹出该提示了
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
  • 影响就是系统数据源选不了,可以选择用户数据源,效果是一样的
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

Could not Initialize JavaVM!

  • 网上的解释是JDK和PowerDesigner一个是32位,一个64位,所以爆出该问题
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
  • 重新安装了64位的PowerDesigner,再次尝试还是报JVM错
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    后面就放弃了,不连接数据库,直接通过数据库sql文件,也是可以逆向生成数据模型的,或者通过ODBC连接也是可以的

mysql odbc安装使用

下载地址,下载和安装的PowerDesigner同样的32位或64位
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

  • 下载了免安装版,配置了环境变量,在管理工具也能看到ODBC,但是PowerDesigner创建数据源就是选不到MySQL ODBC
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

下载安装版,安装好之后,直接可以选到ODBC,成功连接数据库

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

  • PowerDesigner可以选到了
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录
    通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

通过数据库sql文件生成数据库模型步骤

File–>Reverse Engineer–>Database

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录

Using script files

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录