我使用的是Tridion R5.3。我试图删除一个组件,但它显示为已发布。无论我做什么,我都无法取消发布。我对数据库运行了以下查询,以确定组件的发布位置。
SELECT *
FROM [dbo].[PUBLISH_STATES] WITH (NOLOCK)
WHERE REFERENCE_ID = 268494
我收到了以下信息
我试图从发布目标中取消发布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);
答案 0 :(得分:0)
联系SDL支持后,解决方案是在相关组件的STATE
和0
表中将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