从 documentum (dm_acl Object Table) 获取的数据结果为空?为什么?
the fetched data from documentum (dm_acl Object Table) turns out to be null ? why?
我正在开发一个与 documentum 相关的 Java 项目。我正在尝试使用以下方法从我的 dm_acl 对象 table 中获取一些数据:
String fetchAclsInfoQuery = "select * from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";
fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname0", list.get(0));
fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname1", newAcl1.toString().toLowerCase());
fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname2", newAcl2.toString().toLowerCase());
System.out.println(fetchAclsInfoQuery);
//The problem starts from here ==>
IDfQuery aclDetailsFetching = new DfQuery();
//IDfCollection col = UpdateQuery.execute(_session, IDfQuery.DF_QUERY);
IDfCollection details = aclDetailsFetching.execute(_session, DfQuery.DF_READ_QUERY);
while(details.next()){
System.out.println(details.getString("owner_name"));
}
一旦我在 DQL 测试器中打印出 "fetchAclsInfoQuery" 和 运行 的结果,它就可以正常工作,但是当我尝试输出存储在 "owner_name" 列中的所有值时我得到的是 null 。
知道我的错误在哪里吗? :)
尝试写
String fetchAclsInfoQuery = "select owner_name from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";
而不是
String fetchAclsInfoQuery = "select * from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";
我很确定星号而不是真正的 属性 名字有问题。
您可以使用方法 hasAttr("<attribute_name>")
来检查您想要的 属性 (属性)是否已加载到集合中。
您忘记设置 DQL 语句来查询对象。
添加 aclDetailsFetching.setDQL(fetchAclsInfoQuery);
我正在开发一个与 documentum 相关的 Java 项目。我正在尝试使用以下方法从我的 dm_acl 对象 table 中获取一些数据:
String fetchAclsInfoQuery = "select * from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";
fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname0", list.get(0));
fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname1", newAcl1.toString().toLowerCase());
fetchAclsInfoQuery = fetchAclsInfoQuery.replace("@aclname2", newAcl2.toString().toLowerCase());
System.out.println(fetchAclsInfoQuery);
//The problem starts from here ==>
IDfQuery aclDetailsFetching = new DfQuery();
//IDfCollection col = UpdateQuery.execute(_session, IDfQuery.DF_QUERY);
IDfCollection details = aclDetailsFetching.execute(_session, DfQuery.DF_READ_QUERY);
while(details.next()){
System.out.println(details.getString("owner_name"));
}
一旦我在 DQL 测试器中打印出 "fetchAclsInfoQuery" 和 运行 的结果,它就可以正常工作,但是当我尝试输出存储在 "owner_name" 列中的所有值时我得到的是 null 。 知道我的错误在哪里吗? :)
尝试写
String fetchAclsInfoQuery = "select owner_name from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";
而不是
String fetchAclsInfoQuery = "select * from dm_acl where description = '@aclname0' or description = '@aclname1' or description = '@aclname2' enable (ROW_BASED) ";
我很确定星号而不是真正的 属性 名字有问题。
您可以使用方法 hasAttr("<attribute_name>")
来检查您想要的 属性 (属性)是否已加载到集合中。
您忘记设置 DQL 语句来查询对象。
添加 aclDetailsFetching.setDQL(fetchAclsInfoQuery);