在C#中获取HP TRIM容器的内容

时间:2016-05-24 03:32:02

标签: c# .net hp-trim

我有以下代码块,连接到我们的HP TRIM DB,并尝试提取特定容器的所有内容。

using HP.HPTRIM.SDK;

Database db = new Database();
db.WorkgroupServerName = ConfigurationManager.AppSettings["TrimWorkgroup"];
db.Id = ConfigurationManager.AppSettings["TrimDBID"];
db.WorkgroupServerPort = Int32.Parse(ConfigurationManager.AppSettings["TrimPort"]);

TrimMainObjectSearch Contents = new TrimMainObjectSearch(db, baseObjectTypes.Record);
Contents.SetSearchString("container:" + ContainerNum);

看看我能找到的任何doco,似乎只有引用使用基于字符串的搜索,但是有一个问题:

这种基于字符串的搜索正在走向成熟。每个容器大约25秒,这太长了。使用"基于字符串的搜索编辑器"在HP TRIM [7.3.4.5739]内部需要大约相同的时间,但是使用"布尔搜索编辑器"方法,并选择" Contained Within"并输入相同的容器编号,结果将在一秒钟内返回。

所以,我的问题毕竟是,有一种方法我可以做一个布尔搜索"包含在"在C#?

2 个答案:

答案 0 :(得分:1)

您还可以在条件中使用=运算符代替:container:将在字符串中的任意位置匹配,而container=将执行完全匹配,对于像这样的ID字段,它会更快。

答案 1 :(得分:0)

一如既往,在我偶然发现这个文件之前,我感到难过:http://community.hpe.com/hpeb/attachments/hpeb/itrc-1015/11992/1/TRIM7.31_.NETSDK.pdf,注意到了这个方法:

Contents.SelectThoseWithin(CHR);

这很有效,因为我已经拥有了我需要的所有容器。这将在几毫秒内返回。