JCO und große Tabellen

Rund um Java und SAP®.

JCO und große Tabellen

Postby Alva1590 » Tue May 17, 2005 4:00 pm

Hi,

ich habe das Problem, dass ich mit einem RFC eine große Datenmenge in einer Tabelle übertragen möchte, und dass ich mit dem JCO eine OutOfMemory-Fehler bekomme.

Ursache dafür ist, dass JCO die komplette Rückgabetabelle auf den Client überträgt und nicht wie JDBC die Möglichkeit bietet die Daten per FetchSize-Setting häppchenweise zu übertragen.

Vor SAP habe ich nur den Hinweis bekommen, dass man dafür einen entsprechenden "Block- oder Paketmodus" verwenden könnte. Leider habe ich bislang nicht's zu einem "Block- oder Paketmodus" gefunden.

Weiß vielleicht jemand was der "Block- oder Paketmodus" ist, bzw. wo ich nähere Infos dazu finden kann, oder hat jemand eine Idee wie man noch verhindern kann, das JCO die komplette Tabelle überträgt.

Grüße,

Michael
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Joel2205 » Tue May 17, 2005 5:39 pm

Hallo Michael,

SAP bezieht sich vermutlich auf den Zusatz 'PACKAGE SIZE n' zur INTO-Klausel der SELECT-Anweisung. Damit lassen sich in einer Select-Schleife Daten paketweise lesen und verarbeiten.

MfG Juergen
Joel2205
...
...
 
Posts: 121
Joined: Mon Mar 07, 2005 8:01 pm

Postby Belinay3218 » Thu May 19, 2005 8:35 am

Hallo Jürgen!

JDO hat geschrieben:SAP bezieht sich vermutlich auf den Zusatz 'PACKAGE SIZE n' zur INTO-Klausel der SELECT-Anweisung. Damit lassen sich in einer Select-Schleife Daten paketweise lesen und verarbeiten.


Das hatte ich auch schon vermutet. Aber das Statement muss mit ENDSELECT beendet werden und danach ist die interen Tabelle, in die mittels INTO die Daten gelesen wurden, nicht mehr verwendbar. Somit kann diese Tabelle mit mehr an den RFC-Client als Ergebnis zurückgegeben werden.

SAP müßte somit etwas anderes gemeint haben.


Grüße,

Michael
Belinay3218
.
.
 
Posts: 1
Joined: Thu May 19, 2005 8:35 am

Open Cursor with hold

Postby Batuhan3215 » Fri Jun 24, 2005 10:01 am

Hallo Jürgen,

Du könntest ja statt des 'Selects' das 'Open Cursor' Statement verwenden, in dem Du dann nach, sagen wir 1000 Sätzen Deine Daten verarbeitest, bis Du durch die Selektion durch bist.

Gruss Michael
Batuhan3215
..
..
 
Posts: 37
Joined: Mon Mar 17, 2003 9:57 am


Return to Java & SAP®

Who is online

Users browsing this forum: No registered users and 7 guests