解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
2013-08-19 11:21
676 查看
在PowerDesigner 16 中生成的sql语句,在执行的时候报错:对象名sysproperties 无效的错误;造成此问题的原因是由于Sql 2005、2008 删除了系统表 sysproperties 而改用 sys.extended_properties 表所致 , 以下是通过创建sysproperties视图,以及修改powerdesigner sql语句生成模板后,
再生成数据库SQL脚本执行,共分为三部:
第二 步: 修改Table TableComment模板 路径是 Database -> Edit Current DBMS 窗体 General 选项卡 下 Script -> Objects
-> Table -> TableComment
第三步:修改Column ColumnComment模板 路径是 Database -> Edit Current DBMS 窗体 General 选项卡 下 Script -> Objects
-> Column -> ColumnComment
再生成数据库SQL脚本执行,共分为三部:
if exists (select 1 from sysobjects where name = 'sysproperties'and xtype = 'V') begin DROP VIEW sysproperties end GO CREATE VIEW sysproperties AS SELECT A.name As TableName, A.id As TableID,B.Name As ColName,B.colid As ColID, B.xtype As ColType,C.name As PropName,C.Value As PropValue FROM sysobjects As A INNER JOIN syscolumns As B ON A.id = B.id INNER JOIN sys.extended_properties As C ON C.major_id = A.id AND ( minor_id = B.colid)
第二 步: 修改Table TableComment模板 路径是 Database -> Edit Current DBMS 窗体 General 选项卡 下 Script -> Objects
-> Table -> TableComment
[if exists (select 1 from sys.extended_properties where major_id = object_id('[%QUALIFIER%]%TABLE%') and minor_id = 0 and name = 'MS_Description') begin [%OWNER%?[.O:[execute ][exec ]]sp_dropextendedproperty [%R%? ]'MS_Description', [%R%? ]'user', [%R%? ]%.q:OWNER%, [%R%? ]'table', [%R%? ]%.q:TABLE% :declare @CurrentUser sysname select @CurrentUser = user_name() [.O:[execute ][exec ]]sp_dropextendedproperty [%R%? ]'MS_Description', [%R%? ]'user', [%R%? ]@CurrentUser, [%R%? ]'table', [%R%? ]%.q:TABLE% ] end ][%OWNER%?[.O:[execute ][exec ]]sp_addextendedproperty [%R%? ]'MS_Description', [%R%? ]%.q:COMMENT%, [%R%? ]'user', [%R%? ]%.q:OWNER%, [%R%? ]'table', [%R%? ]%.q:TABLE% :select @CurrentUser = user_name() [.O:[execute ][exec ]]sp_addextendedproperty [%R%? ]'MS_Description', [%R%? ]%.q:COMMENT%, [%R%? ]'user', [%R%? ]@CurrentUser, [%R%? ]'table', [%R%? ]%.q:TABLE% ]
第三步:修改Column ColumnComment模板 路径是 Database -> Edit Current DBMS 窗体 General 选项卡 下 Script -> Objects
-> Column -> ColumnComment
[if exists (select 1 from sysproperties where TableID = object_id('[%QUALIFIER%]%TABLE%') and ColName = %.q:COLUMN% AND PropName='MS_Description') begin [%OWNER%?[.O:[execute ][exec ]]sp_dropextendedproperty [%R%? ]'MS_Description', [%R%? ]'user', [%R%? ]%.q:OWNER%, [%R%? ]'table', [%R%? ]%.q:TABLE%, [%R%? ]'column', [%R%? ]%.q:COLUMN% :declare @CurrentUser sysname select @CurrentUser = user_name() [.O:[execute ][exec ]]sp_dropextendedproperty [%R%? ]'MS_Description', [%R%? ]'user', [%R%? ]@CurrentUser, [%R%? ]'table', [%R%? ]%.q:TABLE%, [%R%? ]'column', [%R%? ]%.q:COLUMN% ] end ][%OWNER%?[.O:[execute ][exec ]]sp_addextendedproperty [%R%? ]'MS_Description', [%R%? ]%.q:COMMENT%, [%R%? ]'user', [%R%? ]%.q:OWNER%, [%R%? ]'table', [%R%? ]%.q:TABLE%, [%R%? ]'column', [%R%? ]%.q:COLUMN% :select @CurrentUser = user_name() [.O:[execute ][exec ]]sp_addextendedproperty [%R%? ]'MS_Description', [%R%? ]%.q:COMMENT%, [%R%? ]'user', [%R%? ]@CurrentUser, [%R%? ]'table', [%R%? ]%.q:TABLE%, [%R%? ]'column', [%R%? ]%.q:COLUMN% ]
相关文章推荐
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- PowerDesigner 16 sql server 2008 生成备注报“对象名 'sysproperties' 无效”解决办法。
- PowerDesigner 16 sql server 2008 生成备注报“对象名 'sysproperties' 无效”解决办法。
- PowerDesigner 16 sql server 2008 生成脚本时备注报“对象名 'sysproperties' 无效”解决办法
- 解决方案:PowerDesigner 16生成的SqlServer 2000/2005/2008脚本执行出现:“对象名sysproperties无效”
- 解决方案:PowerDesigner 16生成的SqlServer 2000/2005/2008脚本执行出现:“对象名sysproperties无效”
- PowerDesigner 16 sql server 2008 生成备注报“对象名 'sysproperties' 无效”解决办法。
- 解决PowerDesigner 16 Generate Datebase For Sql2005 找不到sysproperties表的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005 找不到sysproperties表的问题(转,并修改了里面的错误)
- 解决PowerDesigner 16 Generate Datebase For Sql2005 找不到sysproperties表的问题