zoukankan      html  css  js  c++  java
  • 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)  
    
  • 相关阅读:
    计算成像最新进展及应用
    计算成像资料笔记
    成像中的倏逝波与衍射极限
    Eclipse安装Activiti插件(流程设计器)
    Python3.x:代理ip刷评分
    Python3.x:代理ip刷点赞
    Python3.x:正则 re.findall()的用法
    Python3.x:python: extend (扩展) 与 append (追加) 的区别
    Python3.x:zip()函数
    Python3.x:获取代理ip以及使用
  • 原文地址:https://www.cnblogs.com/shijun/p/3337287.html
Copyright © 2011-2022 走看看