码迷,mamicode.com
首页 > 其他好文 > 详细

PDM使用问题总结

时间:2015-01-27 20:13:46      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:

1、连接postgres生成pdm

直接连postgres数据库生成的可以生成表名,但表结构为空,不知为何,后来直接用生成数据库sql脚本后转成pdm成功。但是列注释没有了。

2、sql语句生成的pdm时增加列注释

在PD的 tools-->resources-->dbms-->pg9.x 打开DBMS属性窗口,按下图技术分享 

在comment on column %TABLE%.%COLUMN% is

%.q:COMMENT%

前添加 [%QUALIFIER%],如上图保存后再重新生成即可。

3、pdm中列表和注释之间转换的脚本

 在【Tools】-【Execute Commands】-【Edit/Run Script】 下。输入下面你要选择的语句即可。

需要注意的问题是:运行语句时必须在Module模式下,如果是导出报表时执行会出现错误提示。

(1)Name转到Comment注释字段。一般情况下只填写NAME,COMMENT可以运行语句自动生成。

‘把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

(2)将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

Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab ‘running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.name = tab.comment
Dim col ‘ running column
for each col in tab.columns
if col.comment="" then
else
col.name= col.comment
end if
next
end if
next

Dim view ‘running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.comment
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





PDM使用问题总结

标签:

原文地址:http://www.cnblogs.com/doit8791/p/4253669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!