PD16 Generate Datebase For Sql2008R2时报脚本错误“对象名sysproperties无效”

简介:

PowerDesinger16创建数据库表到SQL2008R2时,执行报“对象名sysproperties无效”错误。

主要是在建模时我们对表、列增加了些说明注释,而Sql2005之后系统表sysproperties已废弃删除而改用sys.extended_properties所致。

此问题解决主要参考了http://hi.baidu.com/xuefliang/item/45e7f71421d5a67871d5e8e2

 

1、修改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 ) 
/* SQL2008 属性表sysproperties改为 sys.extended_properties代替,替换以下脚本
[if exists (select 1 
            from  sysproperties 
           where  id = object_id('[%QUALIFIER%]%TABLE%') 
            and   type = 3) 
*/

 

2、修改Column ColumnComment模板

路径是 Database -> Edit Current DBMS 窗体 General 选项卡 下 Script -> Objects -> Column –> ColumnComment

[if exists (select 1
            from  sys.extended_properties
            where  major_id = object_id('[%QUALIFIER%]%TABLE%') 
            and   minor_id <> 0 and name = 'MS_Description') 
/* SQL2008 属性表sysproperties改为 sys.extended_properties代替,替换以下脚本
if exists (select 1
            from  sysproperties
           where  id = object_id('[%QUALIFIER%]%TABLE%')
            and   type = 4)
*/

也可创建sysproperties视图来,通过此视图处理以上问题。

 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)  
分类:  SQL
本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/4797351.html ,如需转载请自行联系原作者

相关文章
|
1月前
|
SQL 关系型数据库 MySQL
|
10天前
|
SQL 关系型数据库 MySQL
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
22 0
|
6月前
|
SQL 关系型数据库 MySQL
SQL脚本相除
【5月更文挑战第6天】
66 3
|
3月前
|
存储 SQL Go
全网最长的sql server巡检脚本分享(1000行)
全网最长的sql server巡检脚本分享(1000行)
50 1
|
3月前
|
SQL 存储 关系型数据库
bat脚本拼写SQL并写文件
【8月更文挑战第7天】bat脚本拼写SQL并写文件
44 5
|
3月前
|
SQL 存储 Go
SQL Server一键巡检脚本分享
SQL Server一键巡检脚本分享
27 0
|
3月前
|
SQL 监控 安全
在Linux中,如何检测和防止SQL注入和跨站脚本(XSS)攻击?
在Linux中,如何检测和防止SQL注入和跨站脚本(XSS)攻击?
|
4月前
|
SQL API Python
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
|
3月前
|
SQL 存储 Oracle
MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
63 0
|
3月前
|
SQL 运维 Oracle
SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行
SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行
43 0