解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
在PowerDesigner 16 中生成的sql语句,在执行的时候报错:对象名sysproperties 无效的错误;造成此问题的原因是由于Sql 2005、2008 删除了系统表 sysproperties 而改用 sys.extended_properties 表所致 , 以下是通过创建sysproperties视图,以及修改powerdesigner sql语句生成模板后,
再生成数据库SQL脚本执行,共分为三部:
第一步:在Sql 2005/2008 Exec the Sql 创建View 'sysproperties'
if exists (select 1 from sysobjects where name = 'sysproperties'and xtype = 'V') beginDROP VIEW sysproperties endGOCREATE VIEW syspropertiesASSELECT 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 PropValueFROM sysobjects As A INNER JOIN syscolumns As B ON A.id = B.idINNER 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%?[N]]'MS_Description',
[%R%?[N]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
:declare @CurrentUser sysname
select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]'user', [%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]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
:select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'user', [%R%?[N]]@CurrentUser, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
]
[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%?[N]]'MS_Description',
[%R%?[N]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%, [%R%?[N]]'column', [%R%?[N]]%.q:COLUMN%
:declare @CurrentUser sysname
select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_dropextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]'user', [%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]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%, [%R%?[N]]'column', [%R%?[N]]%.q:COLUMN%
:select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'user', [%R%?[N]]@CurrentUser, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%, [%R%?[N]]'column', [%R%?[N]]%.q:COLUMN%
]
修改之后 使用Generate Database 生成的SQL便可在SQL 2005/2008下执行 不在报找不到sysproperties 的错误。
解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题相关推荐
- PowerDesigner16建表在SQL SERVER 2008报 对象名 'sysproperties' 无效。
http://blog.itpub.net/30150152/viewspace-1454979/
- SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法...
在使用数据库的过程中,经常会碰到数据库迁移或者数据迁移的问题,或者有忽然的数据库损坏,这时需要从数据库的备份中直接恢复.但是,此时会出现问题,这里说明几种常见问题的解决方法. 本文链接:http:// ...
- PowerDesigner 16安装注意事项
装PowerDesigner 时不要按默认安装,VS插件不能装,不然每次编译都会提示签出解决方案 也可在VS-工具 -扩展管理器中 删除掉 问题补充(2013-01-19): 现象: PowerDe ...
- 解决thinkphp6读取sqlserver报Microsoft[SQL Server]对象名 ‘information_schema.tables‘ 无效错误
先感谢思路 https://weiku.co/article/37/ 需要修改thinkphp里面sqlserver数据库驱动,不要去改composer里面的东西.所以只能自己重写驱动,并且在data ...
- “SQL对象名无效”的解决过程
今天遇到一个操蛋的问题. 网站升级后,打开一个页面无法访问, 提示: 对象名"xxx"无效. xxx表在服务器上没有创建,于是俺打开 "sql查询分析器": 导 ...
- 数据库对象名无效 解决方法总结
在数据库里面新建表后显示对象名无效,但是在表中能看见,就是无法引用.(强迫症.看着下划线是一排红色的.不爽).重启sql服务也没有用. 暴力解决方法::关闭SQL管理器,再重新打开.(红色下划线不见了 ...
- SqlServer2005/2008下sysproperties无效的解决办法
SqlServer2005/2008下sysproperties无效的解决办法 if exists (select 1 from sysobjects where name = 'syspropert ...
- ubuntu双系统时间同步_解决Ubuntu 16.04.6 + Win10 双系统时间错误且不一致问题
1.在Win系统下,按Win键 + R,输入regedit 运行 2.打开注册表,按照路径查找 计算机 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Con ...
- 解决方案:PowerDesigner 16设置生成SQL column不含有collate chinese_prc_ci_as
解决方案:PowerDesigner 16设置生成SQL column不含有collate chinese_prc_ci_as 参考文章: (1)解决方案:PowerDesigner 16设置生成SQ ...
最新文章
- c# timer使用
- STM32 基础系列教程 11 – ADC 轮询
- Nginx 反向代理及 Cookie 相关问题
- oracle11g同步,Oracle11g三种数据同步方式-Oracle
- 设计模式C++实现--Decorator模式
- Delphi新手必看
- python第二阶段第四天 装饰器和匿名函数
- 跨网页的新手引导_做自媒体的新手要注意什么,这些坑不能踩,这些事不能做...
- 利用VBA将表格保存为PDF文件
- Word如何转PDF
- 大数据分析技术应用领域有哪些
- 通过Mybatis批量插入表数据
- 怎样学习有限元分析才能更快?
- pnpm 是凭什么对 npm 和 yarn 降维打击的
- 香港主机CDN加速,让您的网站速度飙升
- tmail.exe 各项命令参数
- ad模数转换采集电压程序c语言,使用单片机自带AD转换采样电位器,进行PWM调光...
- 川奇吕电商概括短视频账号策划运营方案怎么写
- watch取消配对怎么重新配对_watch配对,apple watch 怎样取消配对后再重新配对
- OpenAI总裁Brockman丨从AI门外汉到影响全世界,难以复刻的创业,值得借鉴的人生...