通过数据库逆向生成表和属性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)及遇到问题记录_第1张图片

通过PDMan导出word文档

步骤

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

通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第2张图片
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第3张图片
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第4张图片
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第5张图片
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第6张图片
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第7张图片
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第8张图片
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第9张图片

导出文档格式

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

自定义格式

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

导出Word失败问题解决

出错原因:[object Object]

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

========================================================================================
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: null
	at 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)及遇到问题记录_第19张图片
替换目录:resources\app.asar.unpacked\build\jar
通过数据库逆向生成表和属性word文档(PDMan/PowerDesigner)及遇到问题记录_第20张图片
估计高版本的PDMan也没这个错,之前使用导出word功能是没问题的,具体版本不记得了

通过PowerDesigner导出word文档

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

导出步骤

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

导出结果

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

PowerDesigner使用问题记录

DSN警告

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

Could not Initialize JavaVM!

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

mysql odbc安装使用

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

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

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

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

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

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

File–>Reverse Engineer–>Database

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

Using script files

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

你可能感兴趣的:(#,逆向生成word文档,PDMan导出word,Power导出word,ODBC)