黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

powerdesigner逆向工程生成PDM時(shí)的列注釋解決方

系統(tǒng) 2352 0

在用powerdesigner逆向工程生成PDM時(shí),列注釋(ColumnComment)始終無(wú)法生成,歷經(jīng)數(shù)小時(shí)的探索,找到一個(gè)折衷的方法,現(xiàn)分享如下。并希望有高手指點(diǎn)更好的方法。

邀月使用的是Powerdesigner 15.2,數(shù)據(jù)庫(kù)為SQL Server 2008 r2

方法如下:

1、在PowerDesigner界面-File-Reverse Engineer-Database,然后選擇一個(gè)DBMS,我這里選取一個(gè)由系統(tǒng)默認(rèn)的SQL Server 2008 DBMS修改而來(lái)的SQL_2008_MyDefine。

選好odbc,輸入正確的連接串,選擇數(shù)據(jù)庫(kù)及表。

生成效果:Name為英文,且Comment列為空。

而我們希望的是Name列為中文,Comment為中文。

查看了下在線幫助,發(fā)現(xiàn)在SQL_2008_MyDefine::Script/Objects/Column/SqlListQuery下的Value值如下:

注意該值中上面是PDM對(duì)應(yīng)的列名,下面是從SQL數(shù)據(jù)庫(kù)中取到的相關(guān)屬性值。其中“

(select convert(varchar(8000), value) from ::fn_listextendedproperty(NULL, 'user', u.name, 'table', o.name, 'column', c.name) where name = 'MS_Description') as colnE,

”是可以取到Comment值的,可是生成的PDM為什么Comment列為空呢?嘗試修改該SQL語(yǔ)句,將語(yǔ)句提取出來(lái),也可以獲取結(jié)果:

后來(lái)發(fā)現(xiàn),直接用生成表的SQL,而不是用數(shù)據(jù)庫(kù)就可以生成注釋。如下圖:

但字段類型全亂了。

難道Powerdesigner真的這么弱嗎?google了一下,看到官方文檔:

http://manuals.sybase.com/onlinebooks/group-pd/pdd1100e/advanced/@Generic__BookTextView/1302;hf=0

里面有關(guān)于SqlListQuery的解釋。

再看看上面的SQL語(yǔ)句,突然想到,既然可以在SQL查詢出結(jié)果,那么出錯(cuò)一定在生成PDM的時(shí)候,

在SQL_2008_MyDefine::Script/Objects/Column中看到這么一段:

將上面的Value值中上面的一行中“Comment”修改為“COLNNAME”會(huì)如何?即

{OWNER, TABLE, S, COLUMN, DTTPCODE, LENGTH, SIZE, PREC, COMPUTE, NOTNULL, IDENTITY, DOMAIN, DEFAULT, ExtIdentitySeedInc, COMMENT, ExtCollation, ExtIdtNotForReplication, ExtDeftConstName, Sparse, FileStream, ExtRowGuidCol}改為

{OWNER, TABLE, S, COLUMN, DTTPCODE, LENGTH, SIZE, PREC, COMPUTE, NOTNULL, IDENTITY, DOMAIN, DEFAULT, ExtIdentitySeedInc, COLNNAME , ExtCollation, ExtIdtNotForReplication, ExtDeftConstName, Sparse, FileStream, ExtRowGuidCol}

結(jié)果生成如下:

同理將SQL_2008_MyDefine::Script/Objects/Table/SqlListQuery下的Value的第一行中

{OWNER, TABLE, TABLE_TYPE, Comment }的Comment改為{OWNER, TABLE, TABLE_TYPE, TNAME }

生成結(jié)果,如下:

至此,我的基本目的,已經(jīng)達(dá)到了,雖然沒(méi)有直接生成Comment列,但可以通過(guò)以下vbs腳本,從Name列生成Comment列:

'代碼一:將name生成comment的腳本

仔細(xì)思索:為什么從SQL生成的腳本有Comment,可是到生成PDM時(shí)為什么沒(méi)有轉(zhuǎn)化成功呢?是否Comment名稱不對(duì)應(yīng)?

于是將 原來(lái)的 COMMENT 加上 COLNNAME ,同時(shí)在下面的SQL語(yǔ)句中增加一列與COMMENT相同的值:

(select convert(varchar(8000), value) from ::fn_listextendedproperty(NULL, 'user', u.name, 'table', o.name, 'column', c.name) where name = 'MS_Description') as colnF,

如下圖:

這樣,Name列和Comment同時(shí)生成,終于OK!

邀月注:本文版權(quán)由邀月和CSDN共同所有,轉(zhuǎn)載請(qǐng)注明出處。
助人等于自助! 3w@live.cn


powerdesigner逆向工程生成PDM時(shí)的列注釋解決方案


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論