Ich migriere eine Lotus Notes-Datenbank mithilfe der LN Java-API zu SQL Server. Beim Durchlaufen jedes LN-Feldes in den Dokumenten finde ich, dass alle Tabellendaten Feldnamen wie fld, fld_1, fld_2 usw. haben, wobei fld den Namen einer Spalte darstellt und das Nummerierungsschema für jede einzelne Zeile zuständig ist. Gibt es eine einfache Möglichkeit, diese Informationen als Arrays mit der LN Java API zu extrahieren?Extrahieren von Wertelisten aus Lotus Notes-Feldern
Antwort
Es gibt keine einfache Möglichkeit, genauer gesagt, keine Möglichkeit, dass Lotus Notes Ihnen bei der Aufgabe hilft. Lotus Notes ist eine "Flat-File" -Datenbank und jedes Dokument darf eine beliebige Anzahl von Elementen (Spalten) enthalten.
Obwohl ein Lotus Notes-Formular Daten in einem Tabellenformat unter Verwendung einer Tabellen- oder Layoutregion anzeigen kann, ist das Dokument (Datensatz), das diese Daten enthält, einfach wie eine einzelne Zeile einer SQL-Tabelle und es gibt keine logischen Möglichkeiten Gruppieren Sie Elemente dieses Dokuments, um beispielsweise alle fld_-Elemente miteinander in Beziehung zu setzen.
Meine Vorschläge sind, die Datenstruktur zu verwenden, die Sie bequem finden, um die Daten von den Elementen in SQL zu erhalten. Dies könnte ein Array oder ein benutzerdefiniertes Objekt sein, das dann in der Datenbank gespeichert werden kann.
Nun "einfach" kann ein zweideutiger Begriff sein.
Wenn Sie dieses Problem noch nicht gelöst haben. Sie können eine Methode schreiben, die sich um und greift jedes Feld wie folgt Schleifen:
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.
};
}
}
Sie benötigen, um sicherzustellen, dass Sie die entsprechenden NotesJava API in Ihr Projekt importieren.
Denken Sie daran, dass jedes Feld in einem Dokument effektiv und Array mit 1 oder mehr Werten ist. Diese Felder ("field_1", "field_2" usw.) wurden willkürlich von einem Entwickler definiert. Dies ist eine gängige Praxis, um tabellenartige Datenstrukturen zu emulieren. Normalerweise repräsentieren die Felder Spalten, keine Zeilen. Der Zugriff auf das Feld über das Objekt "Objekt" sollte Ihnen jedoch den Zugriff auf die Daten ermöglichen.
- 1. Lotus Script-Funktion von Lotus-Formel aufrufen
- 2. Kalenderereignisse bilden gesamte Lotus Notes
- 3. Extrahieren von RGB aus UIColor
- 4. Extrahieren von Text aus Hostnamen
- 5. Extrahieren von Daten aus .txt
- 6. Extrahieren von Attributwert aus HTML
- 7. Extrahieren von Daten aus Textzeichenfolge
- 8. Extrahieren von Tonhöhenfunktionen aus Audiodatei
- 9. Extrahieren von Daten aus JSON
- 10. Extrahieren von Text aus Link
- 11. E-Mail-Datum von Lotus Notes E-Mail zu MS-Zugriff mit VBA extrahieren
- 12. Extrahieren von Werten aus Array von Arrays
- 13. Extrahieren von Eigenschaften aus NSArray von Objekten
- 14. Teilstring aus NSString extrahieren
- 15. Wortliste aus Wordnet extrahieren
- 16. Daten aus Zellenfeld extrahieren
- 17. Text aus PDF extrahieren
- 18. Ganzzahlen aus Bereichen extrahieren
- 19. Eingebettete Lotus Notes-Ansicht
- 20. Zeilen aus Textdatei extrahieren
- 21. Extrahieren von Daten aus Wikipedia API
- 22. Extrahieren von Text aus HTML-Datei
- 23. xcode - Extrahieren von Text aus HTML-Code
- 24. Extrahieren von Farben aus einem Bild
- 25. Extrahieren von Daten aus HTML mit Python
- 26. Extrahieren von Tagen aus einem numpy.timedelta64 Wert
- 27. Extrahieren von Daten aus Zeilen einer Textdatei
- 28. Javascript Extrahieren von Nummer aus String
- 29. Extrahieren von Text aus einer PDF-Datei
- 30. Extrahieren von Text aus ‚<' and '>‘