2

这段代码将所有当前版本的文件从一个文件夹移动到另一个文件夹,但保留所有旧版本不变。(上下文是 DFC 访问 Documentum 的 java 代码。)

 String strObjId = versionColl.getString("r_object_id");
        com.documentum.fc.common.IDfId curObjectID = new DfId(strObjId);
        IDfSysObject curObj = (IDfSysObject)sess.getObject(curObjectID);
        versionlabel = curObj.getAllRepeatingStrings("r_version_label", ",");
        System.out.println("Moving document with Name:" + objName + "  and version:" + versionlabel);
        if (runMode.equals("1")) {
         curObj.unlink(oldpath);
         curObj.link(newpath);
         curObj.setString("a_special_app", curObj.getString("r_modifier"));
         curObj.setTime("a_last_review_date", curObj.getTime("r_modify_date"));
         curObj.setString("a_category","MOVED");
         curObj.save();
         System.out.println("Successfully Moved document with Name:" + objName + " and version:" + versionlabel);
        }

我们在移动旧版本时遇到的错误是“文档不可变”。所以我们添加了这段代码,暂时禁用不可变标志,允许移动文件,然后将不可变标志重置为真。

curObj.setBoolean("r_immutable_flag", false);

然后的问题是这段代码在我们的开发机器(windows)上完美运行,而它在生产(windows)上崩溃(给出了链接错误)。关于为什么这样做以及解决此问题的其他代码的任何想法都会很棒。谢谢。

4

1 回答 1

1

根据给出的少量信息,它可能只是任何东西,但我的猜测是这是一个权限问题。具体来说,运行此代码的用户没有适当的权限来移动您尝试移动的一个(或多个)文档,或者运行代码的用户没有足够的权限将对象链接到目标文件夹。

于 2009-10-23T04:47:50.970 回答