贫民窟里的程序高手

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

本文转载自:http://blog.163.com/lizhihaoo@126/blog/static/103121661201036171115/

1. 生成sql脚本的时候,提示"constraint   name   uniqueness”

解决方式:菜单 Model --> References 对话框中的"FK   constraint   Name”列,在这里找到名称重复的名称,修改为不同名称。

 2. 生成的sql脚本在sqlserver数据库中执行后,部分字段缺少字段说明。

解决方式:菜单 Tools->Execute Commands->Edit/Run Scripts 对话框中,粘贴如下脚本:

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  

3.  生成sql脚本的时候,使脚本中的字段都带有字段说明的方法。

解决方式:菜单 Database -> Edit Current DBMS 左侧 Script -> Object -> Column -> Add 的Value修改为:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%] 
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/

posted on 2013-12-31 14:41  贫民窟里的程序高手  阅读(437)  评论(0编辑  收藏  举报