0

我正在使用 LN java API 将 Lotus Notes 数据库迁移到 SQL Server。在遍历文档中的每个 LN 字段时,我发现所有表格信息都有字段名称,如 fld、fld_1、fld_2 等,其中 fld 表示列的名称,编号方案用于处理每一行。有没有一种使用 LN java API 将这些信息提取为数组的简单方法?

4

2 回答 2

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。

请记住,文档上的每个字段实际上都是具有 1 个或多个值的数组。这些字段(“field_1”、“field_2”等)由开发人员任意定义。这是模拟类似表的数据结构的常见做法。通常字段代表列而不是行。但是使用“item”对象以这种方式访问​​该字段应该可以让您访问数据。

于 2009-10-20T23:53:40.357 回答
0

没有简单的方法,或者更具体地说,Lotus Notes 无法帮助您完成任务。Lotus Notes 是一个“平面文件”数据库,每个文档可以包含任意数量的项目(列)。

尽管 Lotus Notes 表单可能会使用表格或布局区域以表格格式显示数据,但保存该数据的文档(记录)就像 SQL 表的单行一样,无法对其中的项目进行逻辑分组例如,将所有 fld_ 项关联在一起。

我的建议是使用您认为方便的任何数据结构将数据从项目中获取到 SQL 中。这可能是一个数组或自定义对象,然后可以保存到数据库中。

于 2009-03-11T13:34:55.260 回答