Вы находитесь на странице: 1из 8

THORV'S BLOG

Otro Blog en la Red

Menu

Inicio

Invocar procedimiento PLSQL desde JAVA con parmetros de tipo ARRAY de entrada y salida

Invocar procedimiento PLSQL desde JAVA con


parmetros de tipo ARRAY de entrada y salida
Viernes 3 octubre, 2014
STRUCT

thorv

Java, Oracle, PL/SQL, Programacin

ARRAY, java, ORACLE,

Comparto un tip que les puede ayudar al momento de trabajar con JAVA y ORACLE.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

En ORACLE tenemos esto:


CREATE OR REPLACE TYPE ESQUEMA.OBJ_OBJETO AS OBJECT (
ID VARCHAR2(10),
TYPE_CODE VARCHAR2(10),
MESSAGE VARCHAR2(4000)
);
CREATE OR REPLACE TYPE ESQUEMA.TYP_TABLA AS TABLE OF PROCS.OBJ_OBJETO;
PROCEDURE PROCEDIMIENTO(
pi_data IN ESQUEMA.TYP_TABLA,
po_data OUT ESQUEMA.TYP_TABLA)
Partimos con la premisa que tenemos una conexin jdbc que se llama conection, A
continuacin el cdigo de ejemplo:
OracleConnection oconn = null;
oconn = conection.unwrap(oracle.jdbc.OracleConnection.class); //obtenemos la una
conexion oracle, para manejar los objetos, de otra manera no sera posible continuar
ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor(ESQUEMA.TYP_TABLA,
oconn);
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

StructDescriptor structDescriptor =
StructDescriptor.createDescriptor(ESQUEMA.OBJ_OBJETO, oconn);
Object[] iStructs = new Object[2]; //este sera la base del ARRAY
Object[] iAttributes = new Object[3]; // este es un registro del ARRAY
iAttributes[0] = 123;
iAttributes[1] = CODE;
iAttributes[2] = TEXTO;
iStructs[0] = new STRUCT(structDescriptor,oconn,iAttributes);
iAttributes[0] = 456;
iAttributes[1] = COLE;
iAttributes[2] = NUEVO TEXTO;
iStructs[1] = new STRUCT(structDescriptor,oconn,iAttributes);
ARRAY datosIn = new ARRAY(descriptor,oconn,iStructs);
CallableStatement cs = oconn.prepareCall({call ESQUEMA.PAQUETE.PROCEDIMIENTO(?,
?)});
cs.setArray(1, datosIn); //parametro de entrada
cs.registerOutParameter(2, Types.ARRAY, ESQUEMA.TYP_TABLA); //parametro de salida
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

cs.execute();
Object[] data = cs.getObject(2)!=null? (Object[]) ((Array) cs.getObject(2)).getArray() :null;
// si nos devuelve datos, mostramos en consola
if(data!=null){
System.out.println(quantity resp: +data.length);
for(Object tmp : data) {
Struct row = (Struct) tmp;
Object[] values = row.getAttributes();
System.out.println( ID = + values[0]);
System.out.println( TYPE_CODE = + values[1]);
System.out.println( MESSAGE = + values[2]);
System.out.println();
}
}
cs.close();
conection.close();
oconn.close();
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Espero les ayude. Saludos.

About these ads

Me gusta
S el primero en decir que te gusta.

Relacionado

Query que devuelve todos los das de un


open in browser PRO version

PL/SQL: Intervalo de tiempo

Are you a developer? Try out the HTML to PDF API

Me quedo con un WePad, al diablo con


pdfcrowd.com

determinado mes
En "Varios"

En "Oracle"

Apple
En "Curiosidades"

Habilitar/deshabilitar escritura y lectura de


Dispositivos de almacenamiento extrables

Deja un comentario
Introduce tu comentario aqu...

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

CATEGORAS
Android Apple Bolivia Cine

Inslito

Curiosidades Deportes Economa Galaxy Ace Humor

Java Juegos Microsoft

Noticias

Oracle PL/SQL Programacin Software

Tecnologa Varios Videos


POSTS MS VISTOS
PHP: Array en una SESSION
JavaScript: Actualizar ventana padre desde popup
Habilitar/deshabilitar escritura y lectura de Dispositivos de almacenamiento extrables
PL/SQL: Intervalo de tiempo

COMENTARIOS RECIENTES
julio on Habilitar/deshabilitar escritu
Ysrael on JavaScript: Actualizar ventana
Cano Ros Snchez on JavaScript: Actualizar ventana
Hernaldo Gonzalez on PHP: Array en una SESSION
c on Climatizador porttil
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ESTADSTICAS
100,045 visitas

ENLACES
DOT Solutions

Blog de WordPress.com.
El tema Big Brother.
Seguir

Seguir
Thorv's Blog
Recibe cada nueva
publicacin en tu buzn
de correo electrnico.

Introduce tu direccin de correo e

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Вам также может понравиться