Talend: tSAPTableInput DATA_BUFFER_EXCEEDED

Podczas uruchomienia joba w Talendzie, gdzie używasz komponentu tSAPTableInput możesz napotkać poniższy błąd. 

Problem

[FATAL]: repository.job_dfkkop_0_1.job_DFKKOP - tSAPTableInput_1 DATA_BUFFER_EXCEEDED
SAPException@710b18a6 [
   errorCode=13
  ,errorGroup=126
  ,errorKey=DATA_BUFFER_EXCEEDED
  ,errorMessage=DATA_BUFFER_EXCEEDED
  ,errorMessageNumber=000
  ,errorMessageText=
  ,bapiName=RFC_READ_TABLE
  ,tableName=DFKKOP
]
  at org.talend.sap.exception.SAPException$Builder.<init>(SAPException.java:274)
  at org.talend.sap.exception.SAPException$Builder.<init>(SAPException.java:269)
  at org.talend.sap.exception.SAPException.newBuilder(SAPException.java:74)
  at org.talend.sap.impl.SAPUtil.createExceptionBuilder(SAPUtil.java:107)
  at org.talend.sap.impl.service.SAPTableDataService.getTableData(SAPTableDataService.java:234)
  at repository.job_dfkkop_0_1.job_DFKKOP.tSAPTableInput_1Process(job_DFKKOP.java:7628)
  at repository.job_dfkkop_0_1.job_DFKKOP.tHDFSConnection_1Process(job_DFKKOP.java:501)
  at repository.job_dfkkop_0_1.job_DFKKOP.runJobInTOS(job_DFKKOP.java:8354)
  at repository.job_dfkkop_0_1.job_DFKKOP.main(job_DFKKOP.java:8186)
[statistics] disconnected

Powód

W momencie, gdy próbujesz czytać dane, które przekraczają bufor otrzymasz błąd wywołany RFC_READ_TABLE, który zwraca wyjątek: DATA_BUFFER_EXCEEDED.

Rozwiązanie

Należy (jeśli to możliwe) ograniczyć/zmniejszyć liczbę kolumn (pól), które chcesz pobrać z systemu SAP. Dzięki temu zmniejszysz ilość za alokowanej pamięci i nie przekroczysz tym samym określonego bufory, który jest ustawiony na 512 znaków.

lub

Dodaj właściwość “api.use_z_talend_read_table” = “true” sekcji Advanced settings, która jest dostępna w komponencie tSAPTableInput.

Jeśli spodobał Ci się ten post to zostaw proszę komentarz poniżej oraz udostępnij ten post na swoim Facebook’u, Twitter’ze, LinkedIn lub innej stronie z mediami społecznościowymi.
Dzięki!

Leave a Reply

avatar
  Subscribe  
Powiadom o
Close Menu