Hallo zusammen,
mit dem beigefügten Code-Auszug versuche ich aus einer Notes Datenbank (wobei die Datenquelle m.E. hierbei erstmal nachrangig sein dürfte) eine Menge an Datensätzen in eine JTable zu schreiben. Das ganze funktioniert zunächst auch wunderbar mit einer begrenzten Anzahl von Datensätzen. Nehme ich die Begrenzung raus, bekomme ich jedoch bei ca. 90.500 Datensätzen einen Abbruch (Fehlermeldungstext in rot). Die Datenbank enthält insgesamt derzeit ca. 240.000 Datensätze.
Gibt es ein Limit der Anzahl der Reihen in einer JTable? Kann man das Limit "raufsetzen" oder was scheint hier das Problem zu sein. Hat jemand ggf. einen Hinweis?! Vielen Dank schon mal.
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
at java.util.Vector.elementAt(Vector.java:341)
at notesappl.LN_App_GetDataInJTable.jButton1ActionPerformed(LN_App_GetDataInJTable.java:185)
at notesappl.LN_App_GetDataInJTable.access$1(LN_App_GetDataInJTable.java:165)
Besten Gruß
Frank
mit dem beigefügten Code-Auszug versuche ich aus einer Notes Datenbank (wobei die Datenquelle m.E. hierbei erstmal nachrangig sein dürfte) eine Menge an Datensätzen in eine JTable zu schreiben. Das ganze funktioniert zunächst auch wunderbar mit einer begrenzten Anzahl von Datensätzen. Nehme ich die Begrenzung raus, bekomme ich jedoch bei ca. 90.500 Datensätzen einen Abbruch (Fehlermeldungstext in rot). Die Datenbank enthält insgesamt derzeit ca. 240.000 Datensätze.
Gibt es ein Limit der Anzahl der Reihen in einer JTable? Kann man das Limit "raufsetzen" oder was scheint hier das Problem zu sein. Hat jemand ggf. einen Hinweis?! Vielen Dank schon mal.
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
at java.util.Vector.elementAt(Vector.java:341)
at notesappl.LN_App_GetDataInJTable.jButton1ActionPerformed(LN_App_GetDataInJTable.java:185)
at notesappl.LN_App_GetDataInJTable.access$1(LN_App_GetDataInJTable.java:165)
Code:
NotesThread.sinitThread(); // start thread
// Operational code goes here
Session s = NotesFactory.createSession();
Database db = s.getDatabase("DominoServer1", "test\notesdatenbank.nsf");
if (db.isOpen()) {
System.out.println(db);
System.out.println(db.getTitle());
View view = db.getView("Import");
Document doc = view.getFirstDocument();
Document tmp;
DocumentCollection dc = db.getAllDocuments();
doc = dc.getFirstDocument();
int i = 0;
while (doc != null) {
if (doc.hasItem("JavaTest")) {
System.out.println(i++); // Einlesen und Datensatz in Tabelle einfügen
model.insertRow(jTable1.getRowCount(), new Object[] { i, doc.getItemValue("Nachname").elementAt(0).toString(), doc.getItemValue("Vorname").elementAt(0).toString(), doc.getUniversalID().toString() });
//if (i == 1000) {
// break;
//}
}
tmp = dc.getNextDocument(doc); // Look --> http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Java_memory_management_in_NotesDomino
doc.recycle(); // also killls Item
doc = tmp;
doc = dc.getNextDocument(doc);
}
// . . .
}
Besten Gruß
Frank