Struttura JDBC receiver syncro

In uno scenario syncro in cui il receiver è un JDBC, es. proxy -> jdbc -> proxy, in cui la query verso JDBC è di tipo SELECT, per vedere il formato in cui l’adapter JDBC formatta il resultset procedere come segue.

Message Monitor Java

Selezionare il messaggio corrispondente alla response e premere Details

Sul tab Message Content aprire la lista Message Version e selezionare Version 0 quindi il Message Part payload-xxxxxxxxx@sap.com

Dopo che l’adapter ha ceduto il payload all’integration Engine, la corrispondente versione del payload assume il formato dell’output del mapping

Il nome che l’adapter attribuisce al Message Type di response deriva da quello di request al quale aggiunge “_JDBC_response“; se, per esempio il message type di request si chiama MT_PayloadCurveCarico, quello di response si chiamerà MT_PayloadCurveCarico_JDBC_response.


Struttura & mapping JDBC receiver

Dato il datatype JDBC, l’adapter genera una query per ciascuna occorrenza dell’elemento statement o comunque si chiami, gmerci_db nella figura sotto.

<Mt_outbound>

1..1

     
<recordset>

1..1

—>

<Mt_jdbc_inbound>

1..1

<row>

1..n

—>

<stmt>

1..n

   

Constant

<tableelm>

1..1

    Constant @action

0..1

    Constant <access>

1..1

    Constant <key>

1..1


JDBC Lookup su Oracle

Il wizard di creazione dell’External Definition (dbtab) relativo alla tabella di lookup non vede la tabella in oggetto.

La ragione risiede nel fatto che all’utenza oracle utilizzata nel cc non è associato lo schema a cui la tabella appartiene.

Dal momento che il communication channel da utilizzare per la JDBC Lookup è un receiver, non è possibile associargli una query nella quale specificare lo schema Oracle; non è neppure possibile (per Oracle) indicare lo schema nella stringa di connessione JDBC.

A cura del dba, occorre far definire come schema di default dell’utenza utilizzata nel cc JDBC receiver quello a cui appartiene la tabella in oggetto.