0

そのため、Java を使用してロータス ドミノ データベースから情報を取得する必要があります。

まず、セッションを作成する必要があります。

Session session = NotesFactory.createSession(host, user, password);

次に、データベースを取得する必要があります。

Database db = session.getDatabase(serverName, dbName);

次のステップでは、情報を取得する必要があります。このデータベースは単純なリレーション データベースと比較してどのように見えますか? つまり、関係データベースでは、SQL クエリを次のように作成できます"SELECT table FROM room WHERE table.hieght < 10"。たとえば、そのクエリは Lotus Domino DB から同じ情報を取得するためにどのように見えるでしょうか?

4

1 に答える 1

4

Notes は、NSF (Notes Storage Facility) と呼ばれるドキュメント指向のデータベースを使用して、リッチ テキストやファイルなどの半構造化データを管理します。リレーショナル データベースとは異なり、データはドキュメントとビューとして格納されます。

NSF をクエリするには、Java API を使用できますが、リレーショナル データベースや標準的な Java コレクションに慣れている場合は特に使いにくいものです。(つまり、ほとんどのコレクションの戻り値の型は反復可能ではないため、while を使用してそれらを反復処理する必要があります:S、また、多くの奇妙な例外が予想されます)。次に例を示します。

Session session = NotesFactory.createSession(host, user, password);
View view = session.getDatabase(DATABASE).getView(VIEW);
ViewEntryCollection allEntries = view.getAllEntries();
ViewEntry entry = allEntries.getFirstEntry();
while (entry != null) {
    if (entry.isDocument()) {
        Document doc = entry.getDocument();
        String no = doc.getItemValueString("No");
    }
    entry = allEntries.getNextEntry();
}

上記のコードを使用して、"No"最終的に という名前のビューを形成するエントリのコレクションから取得したノート ドキュメントのとしてラベル付けされたフィールドを取得しました。VIEWそのビューは データベース の下にありますDATABASE

また、NSF のクエリにも使用される Lotus Domino Formula Language と呼ばれるスクリプト言語もあります。これについては、Lotus Programming Guide and Formula Language を参照してください。

于 2013-02-25T15:18:04.377 に答える