PowerDesigner 16.5对SQL Server 2012 生成数据库时"不支持扩展属性"问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PowerDesigner 16.5对SQL Server 2012 生成数据库时"不支持扩展属性"问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3666字,纯文字阅读大概需要6分钟。
内容图文
if exists(select 1 from sys.extended_properties p where p.major_id = object_id(‘Environment.Resource‘) and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = ‘ResourceCode‘) ) begin execute sp_dropextendedproperty ‘MS_Description‘, ‘user‘, ‘Environment‘, ‘table‘, ‘Resource‘, ‘column‘, ‘ResourceCode‘ end execute sp_addextendedproperty ‘MS_Description‘, ‘资源编码‘, ‘user‘, ‘Environment‘, ‘table‘, ‘Resource‘, ‘column‘, ‘ResourceCode‘ go
分析原因,发现是由于采用了Schema(上述代码中的Environment),所以sp_addextendedproperty存储过程的第三个参数就应该是SCHEMA而不是user。查询相关资料发现以上SQL语句是基于Powerdesigner自带的对应的.xdb文件生成的,如下图是Column注释信息的SQL代码模板,对应的xdb模板文件存放在powerdesigner安装路径的Sybase\PowerDesigner 16\Resource Files\DBMS\sqlsv2012.xdb
如上图,每个Column的Comment信息均通过以上代码模板生成,所以只需要修改代码模板(将sp_addextendedproperty的第三个参数值由user修改为schema即可)即可让所有对象的Comment生成语句得到修正。
注:在win7以上系统中需要使用管理员权限运行powerdesigner才能将修改后的模板文件保存。
摘自:http://www.cnblogs.com/xqyi/p/3937769.html
补充:
ColumnContent修改为:
Value修改为:
[if exists (select 1 from sys.extended_properties where major_id = object_id(‘[%QUALIFIER%]%TABLE%‘) and minor_id = 0) begin [%OWNER%?[.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]‘MS_Description‘, [%R%?[N]]‘schema‘, [%R%?[N]]%.q:OWNER%, [%R%?[N]]‘table‘, [%R%?[N]]%.q:TABLE% :declare @CurrentUser sysname select @CurrentUser = SCHEMA_NAME() [.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]‘MS_Description‘, [%R%?[N]]‘schema‘, [%R%?[N]]@CurrentUser, [%R%?[N]]‘table‘, [%R%?[N]]%.q:TABLE% ] end ][%OWNER%?[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]‘MS_Description‘, [%R%?[N]]%.q:COMMENT%, [%R%?[N]]‘schema‘, [%R%?[N]]%.q:OWNER%, [%R%?[N]]‘table‘, [%R%?[N]]%.q:TABLE% :select @CurrentUser = SCHEMA_NAME() [.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]‘MS_Description‘, [%R%?[N]]%.q:COMMENT%, [%R%?[N]]‘schema‘, [%R%?[N]]@CurrentUser, [%R%?[N]]‘table‘, [%R%?[N]]%.q:TABLE% ]
Values修改为:
[if exists(select 1 from sys.extended_properties p where p.major_id = object_id(‘[%QUALIFIER%]%TABLE%‘) and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = %.q:COLUMN%) ) begin [%OWNER%?[.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]‘MS_Description‘, [%R%?[N]]‘schema‘, [%R%?[N]]%.q:OWNER%, [%R%?[N]]‘table‘, [%R%?[N]]%.q:TABLE%, [%R%?[N]]‘column‘, [%R%?[N]]%.q:COLUMN% :declare @CurrentUser sysname select @CurrentUser = SCHEMA_NAME() [.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]‘MS_Description‘, [%R%?[N]]‘schema‘, [%R%?[N]]@CurrentUser, [%R%?[N]]‘table‘, [%R%?[N]]%.q:TABLE%, [%R%?[N]]‘column‘, [%R%?[N]]%.q:COLUMN% ] end ][%OWNER%?[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]‘MS_Description‘, [%R%?[N]]%.q:COMMENT%, [%R%?[N]]‘schema‘, [%R%?[N]]%.q:OWNER%, [%R%?[N]]‘table‘, [%R%?[N]]%.q:TABLE%, [%R%?[N]]‘column‘, [%R%?[N]]%.q:COLUMN% :select @CurrentUser = SCHEMA_NAME() [.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]‘MS_Description‘, [%R%?[N]]%.q:COMMENT%, [%R%?[N]]‘schema‘, [%R%?[N]]@CurrentUser, [%R%?[N]]‘table‘, [%R%?[N]]%.q:TABLE%, [%R%?[N]]‘column‘, [%R%?[N]]%.q:COLUMN% ]
这个是表的
其他类型同理,主要修改Values值中的user为schema,和select @CurrentUser = User_NAME() 修改为 select @CurrentUser = SCHEMA_NAME()
PowerDesigner 16.5对SQL Server 2012 生成数据库时"不支持扩展属性"问题
标签:
本文系统来源:http://www.cnblogs.com/GarsonZhang/p/4613623.html
内容总结
以上是互联网集市为您收集整理的PowerDesigner 16.5对SQL Server 2012 生成数据库时"不支持扩展属性"问题全部内容,希望文章能够帮你解决PowerDesigner 16.5对SQL Server 2012 生成数据库时"不支持扩展属性"问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。