Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Gandhi am 21.06.07 - 11:45:19

Titel: Problem mit 32k Grenze in Java Agent
Beitrag von: Gandhi am 21.06.07 - 11:45:19
Ich habe folgendes Problem:
Ich übertrage Daten mittels eines Java Tools aus SAP nach Notes.
Die Idee war es die 32k Grenze abzufangen, in dem nach 200 Einträgen, die in Summe garantiert unter 32k bleiben ein neues Feld erstellt wird.
Das Problem ist, dass nun Notes alle Felder zusammen auf 32k begrenzt.
Ich habe versucht, das document=null zu setzen (Java)  - das hat gar nichts gebracht - das document zu recyclen hatte dann den Effekt, dass ich gar nicht mehr darauf zugreifen kann.
Kann man das Problem irgendwie schnell umgehen?
Hier der Code:
Code
for (int i = 0; i < table.getNumRows(); i++) {								
					table.setRow(i);
									
					String sFirst			= table.getString("NAME_FIRST");
					String sLast			= table.getString("NAME_LAST");
					String sCountry		= table.getString("COUNTRY");
					String sOrga			= table.getString("NAME_ORG1");
					String sDepartment		= table.getString("DEPARTMENT");
					String sFunction		= table.getString("FUNCTION");
					String sFunctionDescr	= table.getString("FUNCTION_DESCR");
					String sValue			= sLast+"~"+sFirst+"~"+sCountry+"~"+sOrga+"~"+sDepartment+"~"+sFunction+"~"+sFunctionDescr;
					
					System.out.println(sValue);

					if (nTab == 200 ){
						nTab = 0;
						nIdx++;
					}
					
					String sItemname		= "JCO_Data_" + nIdx;
					
					if (docParam.hasItem(sItemname)) {
						docParam.getFirstItem(sItemname).appendToTextList(sValue);	
					} else {
						doc.save(true);
						//doc.recycle();
						//doc=null;
						doc= db.getDocumentByID(agent.getParameterDocID());
						System.out.println("Doc has been saved");
						docParam.replaceItemValue(sItemname, sValue);
					}
					nTab++;	
				}
Titel: Re: Problem mit 32k Grenze in Java Agent
Beitrag von: timo.emrich am 27.06.07 - 16:01:45
Hi,

mit doc.appendItemValue (Itemname)  kannst du weitere Items mit dem selben Namen erstellen. Ansonsten kannst Du die Daten in ein Richtext-Item reinpacken.

btw: Die Grenze bei einem Item in Java liegt bei ca. 20kB bis 22kB (den genauen Wert müsste ich rauskramen), dass musste ich schonmal leidlich feststellen (Serverabsturz + OutOfMemory-Exception).

Timo
Titel: Re: Problem mit 32k Grenze in Java Agent
Beitrag von: atbits am 29.06.07 - 09:38:23
Warum erzeugst Du nicht einfach mehrere Dokumente?

Grüße David
Titel: Re: Problem mit 32k Grenze in Java Agent
Beitrag von: Gandhi am 29.06.07 - 11:44:47
Das werde ich jetzt auch tun. Allerdings ist diese Lösung sowieso schon wieder überholt...