Note that there are some explanatory texts on larger screens.

plurals
  1. POWhat is the best (fastest, easiest, most efficient) way to pass structured data into and out of Oracle
    primarykey
    data
    text
    <p>I want to abstract a large database store (relational, OLTP) from the application layer by having the application consider the database as a service. The natural way of doing this is by calling sprocs, but traditionally these follow CRUD paradigms and in keeping with my abstraction thinking I want to abstract away all knowledge of data structures within the database and concentrate on business process. </p> <p>So instead of having 'Save Invoice' business process be this....</p> <ol> <li>Start Transaction</li> <li>Create Invoice Header</li> <li>For Invoice Line Items <ol> <li>Create Invoice Line Items</li> </ol></li> <li>Commit Transaction</li> </ol> <p>... instead I want to pass into the database structured data representing the invoice.</p> <p>I can pass down an XML document containing the invoice, but this is what I want to avoid on the Database side:</p> <ol> <li>Parsing XML</li> <li>XML Validation</li> <li>Parameter extraction and binding into Oracle PL/SQL objects</li> </ol> <p>Off-course, in all cases, no matter the solution, this must be done. However, I don't want to pay the XML document penalty (the angle bracket tax).</p> <p>Hence the question - what is the most efficient way to send and receive and structure data into Oracle stored procedures?</p> <p>I would like to hear from those who want to argue for JSON, ATOM or other formats.</p> <p>Also consider native or binary mechanisms to achieve this. What about constructing and sending in Oracle tables (memory datasets)? Has anyone done this before? What where your experiences?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload