Page 1 of 1

JCO und große Tabellen

PostPosted: Tue May 17, 2005 4:00 pm
by Alva1590
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

PostPosted: Tue May 17, 2005 5:39 pm
by Joel2205
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

PostPosted: Thu May 19, 2005 8:35 am
by Belinay3218
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

Open Cursor with hold

PostPosted: Fri Jun 24, 2005 10:01 am
by Batuhan3215
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