我正在使用LN java API将Lotus Notes数据库迁移到SQL Server。遍历文档中的每个LN字段时,我发现所有表格信息都有字段名称,如fld,fld_1,fld_2等,其中fld表示列的名称,编号方案是处理每个单独的行。有没有一种使用LN java API将这些信息提取为数组的简单方法?
答案 0 :(得分:1)
“简单”可能是一个含糊不清的术语。
如果你还没有解决这个问题。您可以编写一个循环并抓取每个字段的方法,如下所示:
import lotus.domino.*;
....
public static void main(String[] arg) {
for(int i=1 ;i<MAX_FIELD;i++) {
Item itm = doc.getFirstItem("field_"+String.valueOf(i));
if (itm != null) {
// if it's a multi-value field.
Vector v = item.getValues();
// do other stuff here with the values.
};
}
}
您需要确保在项目中导入相应的NotesJava API。
请记住,文档中的每个字段都是有效的,并且数组中包含一个或多个值。那些字段(“field_1”,“field_2”等)是由开发人员任意定义的。这是模拟表格式数据结构的常见做法。通常,字段表示列而不是行。但是,使用“item”对象以这种方式访问该字段应该可以访问数据。
答案 1 :(得分:0)
没有简单的方法,或者更具体地说,Lotus Notes无法帮助您完成任务。 Lotus Notes是一个“平面文件”数据库,每个文档都允许包含任意数量的项目(列)。
虽然Lotus Notes表单可能使用表格或布局区域以表格格式显示数据,但保存该数据的文档(记录)就像SQL表格的单行,并且没有办法进行逻辑分组例如,该文档的项目将所有fld_项目关联在一起。
我的建议是使用您认为方便的数据结构将项目中的数据导入SQL。这可能是一个数组或自定义对象,然后可以保存到数据库中。