注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风之泪

风过雨过,花开花落。。。

 
 
 

日志

 
 

PowerDesigner生成脚本注释完整示例  

2010-07-05 17:18:03|  分类: java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
        以前用过一次PowerDesigner(后面都简称PD了),当时还是用的11 版本的PD,没有深入研究,简单的试用了一下。近来项目要用,同事已经把数据库设计好了,但是生成出来的数据库表结构确没有注释信息。研究几个小时后终于 试出来了,不知道搜索的方法不对还是确实没有根据PD的名称来生成数据库注释信息的文章。

环境

    Sybase.PowerDesigner 12 汉化版

    Microsoft SQL Server 2000 (sp3)

鸣谢

    1.    如 何让PowerDesigner支持自动生成含SQL Server 2000的表和列注释的角本

正文

    这里从头开始以贴图附代码的方式来完整的展示用PD生产SQL并生产数据 库表结构的整个过程。  

    第一步:    新建自定义DBMS: PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

这里只是修改部分参数,选择拷贝自Micorsoft SQL SERVER 2000。然后如图保存:

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

接着会弹出如下交互窗口:

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

    第二步:修改关键特征树,在 Script\Objects\Table\TableComment和Script\Objects\Column\ColumnComment位置的 直修改如下:

        表级注释

EXECUTE sp_addextendedproperty N'MS_Description', N'%COMMENT%', N'user', N'%OWNER%', N'table', N'%TABLE%', NULL, NULL

     列级注释

EXECUTE sp_addextendedproperty N'MS_Description', N'%Name%', N'user', N'%OWNER%', N'table', N'%TABLE%', N'column', N'%COLUMN%'

        如图:

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

        确定。

    第三步:新的Physical Data Model(PDM),如下就不详细接受只贴图了:

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

注意:这里建表的时候最好选定所有者,没有自己新建一个。

    第四步:配置参数,生成SQL 语句。工具栏(Tools)—>生成数据库(Generate Database)

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

勾上以上复选框,否则当你备注为空的时候注释出不来;反之,如果你备注不为空那么名称 (Name)才能作为注释出现!!

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

去掉上面User前面的勾,否则到时候生成SQL语句执行的时候可能出现如下错误:

服务器: 消息 15181,级别 16,状态 1,过程 sp_revokedbaccess,行 43

无法除去数据库所有者。

服务器: 消息 15007,级别 16,状态 1,过程 sp_grantdbaccess,行 98

登录 'dbo' 不存在。

最后点确定生成,PD最终生成的SQL代码如下: /*==============================================================*/

/* DBMS name:      SQL SERVER 2000 [EXT]                        */

/* Created on:     2008-2-28 2:49:38                            */

/*==============================================================*/

if exists (select 1

            from  sysobjects

           where  id = object_id('dbo.Employee')

            and   type = 'U')

   drop table dbo.Employee

go

/*==============================================================*/

/* Table: Employee                                              */

/*==============================================================*/

create table dbo.Employee (

   ID                   int                  not null,

   Username             varchar(20)          null,

   Password             varchar(20)          null,

   constraint PK_EMPLOYEE primary key (ID)

)

go

EXECUTE sp_addextendedproperty N'MS_Description', N'Employee', N'user', N'dbo', N'table', N'Employee', NULL, NULL

go

EXECUTE sp_addextendedproperty

N'MS_Description', N'主键ID', N'user', N'dbo', N'table', N'Employee', N'column', N'ID'

go

EXECUTE sp_addextendedproperty

N'MS_Description', N'用户名', N'user', N'dbo', N'table', N'Employee', N'column', N'Username'

go

EXECUTE sp_addextendedproperty

N'MS_Description', N'密码', N'user', N'dbo', N'table', N'Employee', N'column', N'Password'

go

如果你生成的SQL语句没有之后面这几条执行sp_addextendedproperty 的语句,那么本次你将不能生成带注释的SQL语句,请仔细检查步骤及细节。

    第五步:执行PD生成的SQL语句,生成表结构。

        在查询分析器中执行生成的SQL语句后表结构如图:

PowerDesigner生成脚本注释完整示例. - xuehuiiloveyou1314 - 动亦静的博客

完毕! 在Sybase AS Anywhere 7中同样的方法

修改特征码之后 也可以出来注释!至于其他的就没有一一测试了,大家有兴趣可以多试试,接下来研究名称+备注来生成数据库注释,但是苦于找不到资料,不知道如[%R%? [N]]等的语法,欢迎多指教

  评论这张
 
阅读(1929)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018