2009-03-11 4 views
0

Я переношу базу данных Lotus Notes на SQL Server с использованием API-интерфейсов LN. Просматривая каждое поле LN в документах, я обнаруживаю, что все табличные данные имеют имена полей, такие как fld, fld_1, fld_2 и т. Д., Где fld представляет имя столбца, а схема нумерации - заботиться о каждой отдельной строке. Есть ли простой способ извлечения этих данных в виде массивов с использованием API-интерфейсов LN java?Извлечение списка значений из полей заметок лотоса

ответ

0

Нет простого способа, а точнее, Lotus Notes не поможет вам в решении этой задачи. Lotus Notes - это «плоский файл», и каждому документу разрешено иметь в нем любое количество элементов (столбцов).

Хотя форма Lotus Notes может отображать данные в табличном формате с использованием таблицы или области макета, документ (запись), который содержит эти данные, просто как одна строка таблицы SQL, и нет способов логически элементы группы этого документа, например, чтобы связать все элементы fld_ вместе.

Мои предложения - использовать любую структуру данных, которую вы находите удобной для получения данных из элементов в SQL. Это может быть массив или пользовательский объект, который затем может быть сохранен в базе данных.

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» должен дать вам доступ к данным.

Смежные вопросы