powerdesigner使用杂谈1---word文件生成pdm文件

前言:word文档和pdm文档和数据库表结构如果不能互相转换,会特别的麻烦。每一个都需要手动生成一遍。

1. word文件生成pdm文件:
  • 将word中表结构复制到txt文件,在txt文件中格式如下 :
    txt文件格式
    描述:每个表的第一行为表的name和code,中间用空格隔开。从第二行开始是每个表的字段的name,codehe type,用空格隔开。每个表之间用空行隔开。
  • 打开powerdesigner,新建一个物理模型,dbms可以选mysql,如果有sqlserver也可以选择sqlserver,如果没有,可以先选mysql,然后可以修改dbms,此时会有sqlserver.
    在这里插入图片描述
  • 新建好 物理模型后,按“ctrl+shift+x”打开编译运行脚本窗口。脚本中输入:【其中打开文本文档行第一个参数是文档地址:填写要导入的txt文件的地址;第二个参数是读写状态属性:1 是 文件只读 , 2 是 文件写入 , 8 是 文件追加】
Option Explicit

Dim mdl
'获取当前激活模型
Set mdl = ActiveModel 

Dim system, file
'创建文件对象
Set system = CreateObject("Scripting.FileSystemObject")
'打开文本文档
Set file = system.OpenTextFile("E:\table.txt", 1)

'表和列
Dim tab, col

'当前行内容,当前行拆分后的内容,和当前行所属表的行数
Dim line_str, lineAry, tab_line_index
tab_line_index = 1

'循环读取文档的每一行
Do While file.AtEndOfStream <> True 
	line_str = file.ReadLine
	
	'空行是下一个表的开始
	if line_str = "" then 
		'声明下一行是新表的第一行
		tab_line_index = 1
	else
		'新表的第一行,表名行
		if tab_line_index = 1 then
			'先创建一个表
			set tab = mdl.Tables.CreateNew
			'拆分第一行信息
			lineAry = split(line_str)
			'设置表名信息
			tab.name = lineAry(0)  '表name
			tab.code = lineAry(1)  '表code
		'新表的非第一行,字段行
		else
			'先创建一列
			set col=tab.Columns.CreateNew
			'拆分列的信息
			lineAry = split(line_str)
			'设置列的属性
			col.name = lineAry(0)  '列name
			col.code = lineAry(1)  '列code
			'col.datatype = lineAry(2)  '列类型
		end if
		
		'行数往下延伸
		tab_line_index = tab_line_index + 1
	end if
Loop
file.Close
  • 点击窗口下边的“run”运行,进行表的创建。创建好后,会发现左测结构中已经有了你需要的表。
    创建结果

猜你喜欢

转载自blog.csdn.net/weixin_44082011/article/details/84987496
今日推荐