powerdesigner CDM->PDM->sqlserver2008 SQL 攻略

前几天研究了一下,然后已经可以正常开发了,今天突然生成出来的sql跟以前不一样了,各种问题。

发生的原因是因为从PDM逆向的生成CDM,然后好像是生成sql的配置也一起被设置了,怎么都调不回来,重装之后正常。


总的来说powerdesigner  设计结构还是很方便的可以直接导出。

1: 设置不自动同步

2:

在生成为物理数据模型时出现错误“The generation has been cancelled because errors have been found by the check model.”

其实也是设置问题,点击PowerDesigner工具栏中的 Tools -> Model Options ->

Model Settings中按照如下图设置即可。

PowerDesigner_error3

 

3:生成PDM

4:选中生成的PDM 选择上路的execute commands-》edit/run 运行下面代码NAME可以直接当作sql注释

'把pd中那么name想自动添加到comment里面
'如果comment为空,则填入name;如果不为空,则保留不变,这样可以避免已有的注释丢失.
 
Option Explicit 
ValidationMode = True
InteractiveMode = im_Batch 
 
Dim mdl ' the current model 
 
' get the current active model 
Set mdl = ActiveModel 
If (mdl Is Nothing) Then
 MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
 MsgBox "The current model is not an Physical Data model. "
Else
 ProcessFolder mdl 
End If
 
' This routine copy name into comment for each table, each column and each view 
' of the current folder 
Private sub ProcessFolder(folder)  
 Dim Tab 'running   table  
 for each Tab in folder.tables  
  if not tab.isShortcut then 
    if trim(tab.comment)="" then '如果有表的注释,则不改变它.如果没有表注释.则把name添加到注释里面. 
       tab.comment = tab.name 
    end if  
 Dim col ' running column  
 for each col in tab.columns 
  if trim(col.comment)="" then '如果col的comment为空,则填入name,如果已有注释,则不添加;这样可以避免已有注释丢失.
   col.comment= col.name 
  end if 
 next  
  end if  
 next  
   
 Dim view 'running view  
 for each view in folder.Views  
  if not view.isShortcut and trim(view.comment)=""  then  
 view.comment = view.name  
  end if  
 next  
   
 ' go into the sub-packages  
 Dim f ' running folder  
 For Each f In folder.Packages  
  if not f.IsShortcut then  
 ProcessFolder f  
  end if  
 Next 
end sub


5:然后拿到生成的sql 数据库运行就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值