无法取消发布组件

时间:2012-12-03 14:27:03

标签: tridion

我使用的是Tridion R5.3。我试图删除一个组件,但它显示为已发布。无论我做什么,我都无法取消发布。我对数据库运行了以下查询,以确定组件的发布位置。

SELECT *
FROM [dbo].[PUBLISH_STATES] WITH (NOLOCK)
WHERE REFERENCE_ID = 268494

我收到了以下信息

  • ID:45173
  • REFERENCE_ID:268494
  • ITEM_TYPE:16
  • PUBLICATION_ID:4
  • 状态:1
  • STATE_CHANGE_DATE:2006-08-18 12:50:25.597
  • PUBLICATION_TARGET_ID:2
  • TRUSTEE_ID:43
  • TEMPLATE_REFERENCE_ID:89798
  • TEMPLATE_ITEM_TYPE:32

我试图从发布目标中取消发布ID为2但没有运气的组件。

我可以安全地删除数据库中的行吗?

更新

根据Nuno的建议,在阅读another question之后,我想我必须取消发布相关的组件模板。我尝试了以下操作,并在执行Type Mismatch方法时收到SetPublishedTo()

TDS.TDSE tdse = new TDS.TDSE();
var componentTemplate = (TDS.ComponentTemplate)tdse.GetObject("tcm:4-89798-32", TDSDefines.EnumOpenMode.OpenModeView);
componentTemplate.SetPublishedTo("tcm:4-268494", "tcm:0-2-65537", false, tdse.User);

1 个答案:

答案 0 :(得分:0)

联系SDL支持后,解决方案是在相关组件的STATE0表中将ITEM_STATES字段设置为PUBLISH_STATES

UPDATE dbo.ITEM_STATES
SET STATE = 0
WHERE ITEM_REFERENCE_ID = 268494

UPDATE dbo.PUBLISH_STATES
SET STATE = 0
WHERE REFERENCE_ID = 268494