首页 新闻 赞助 找找看

PowerDesigner12.5反向工程出错

0
悬赏园豆:10 [已解决问题] 解决于 2011-05-27 15:38

Unable to list the triggers.

[mircrosoft][SQL Server Native Client 10.0][SQL Server]对象名'sys.sysuserperms'无效,SQLSTATE=S0002

Unable to list the triggers.

[mircrosoft][SQL Server Native Client 10.0][SQL Server]无法预定义语句SQLSTATE=37000

问题补充: 连接SQL2005是可以的,前天连接SQL2008还没问题的,今天连接不了,请高人指点
_劍客的主页 _劍客 | 初学一级 | 园豆:94
提问于:2011-03-18 18:29
< >
分享
最佳答案
0

你枚举触发器的SQL语句肯定修改过了,用不到'sys.sysuserperms'

你用这段试试,放在SQL_2008_MyDefine::Script\Objects\Trigger\SqlListQuery的value

{TABLOWNER ID, TABLE ID, OWNER ID, TRIGGER ID, ImplementationType ID, Assembly ID, MethodName ID, TRGTIME ID, TRGEVENT ...}

select
schema_name(tb.schema_id),
tb.name,
schema_name(tb.schema_id),
tr.name,
case(tr.type) when 'TA' then 'ClassMethod' else '' end,
a.name,
s.assembly_class
+ '.' + s.assembly_method,
case(tr.is_instead_of_trigger) when 1 then 'instead of' else 'after' end,
te.type_desc
+ ','
from
[%CATALOG%.]sys.objects tb
join [%CATALOG%.]sys.triggers tr on (tr.parent_id = tb.object_id)
join [%CATALOG%.]sys.trigger_events te on (te.object_id = tr.object_id)
left outer join [%CATALOG%.]sys.assembly_modules s on (s.object_id = tr.object_id and tr.type = 'TA')
left outer join [%CATALOG%.]sys.assemblies a on (a.assembly_id = s.assembly_id and tr.type = 'TA')
where 1=1
[ and schema_name(tb.schema_id) =%.q:SCHEMA%]
[ and tb.name = %.q:TABLE%]
order by
1, 2, 3, 4

使用方法看这里:

http://www.cnblogs.com/downmoon/archive/2011/03/04/1971250.html

收获园豆:10
邀月 | 高人七级 |园豆:25475 | 2011-03-18 19:27
谢谢你的帮助,你的方法看起来很强大,我电脑是可以的,公司的数据库不能反向工程,等下周试好了再给你补分
_劍客 | 园豆:94 (初学一级) | 2011-03-18 23:02
这段不是我想要的,不过很给力
_劍客 | 园豆:94 (初学一级) | 2011-05-27 15:38
其他回答(1)
0

无法列出触发器。

[mircrosoft] [SQL Server的本机客户端10.0][SQL Server中]对象名'sys.sysuserperms'无效的SQLSTATE= S0002

无法列出触发器。

[mircrosoft] [SQL Server的本机客户端10.0][SQL Server中]无法预定义语句的SQLSTATE=37000

Ganler1988 | 园豆:3 (初学一级) | 2011-03-18 18:40
触发器问题,请问怎么解决呢
支持(0) 反对(0) _劍客 | 园豆:94 (初学一级) | 2011-03-18 18:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册