Ayuda en exportación/encriptación Oracle
Publicado por Carlos (1 intervención) el 15/09/2006 16:27:09
Buenas a todos
Me ha caido un encarguito algo peculiar, y es que me han pedido que encripte todos los paquetes que hay en el cliente para que éste no tenga acceso a la información... en fin cosas de empresa.
El caso es que tenemos algo así como 750 paquetes y hacerlos uno por uno pues... me pueden dar las uvas.
Actualmente tengo un script que me está obteniendo todas las líneas que se obtienen de los paquetes, viene a ser algo así:
DECLARE
CURSOR c_body IS
SELECT DISTINCT NAME, COUNT(line) lineas
FROM user_source
WHERE TYPE IN ('PACKAGE')
GROUP BY NAME;
CURSOR c_line_body (nombre user_source.NAME%TYPE,
linea user_source.line%TYPE) IS
SELECT text
FROM user_source us
WHERE us.TYPE IN ('PACKAGE')
AND us.NAME = nombre
AND us.line = linea;
linea VARCHAR2(4000);
BEGIN
FOR i_cursor IN c_body LOOP
FOR i_indice IN 1..i_cursor.lineas LOOP
FOR j_cursor IN c_line_body(i_cursor.NAME, i_indice) LOOP
INSERT INTO x_tablaPrueba_carlos VALUES(j_cursor.text);
END LOOP;
END LOOP;
END LOOP;
END;
Luego lo que hago es hacer un select * from x_tablaPrueba_carlos y el resultado lo guardo en el spool y lo meto en un archivo, ya que al ser las líneas tan largas no puedo usar el dbms_output.put_line para ver lo que ha almacenado en j_cursor.
Este código me almacena en la tabla x_tablaPrueba_carlos todas las líneas que describen todos los paquetes que hay en el esquema.
Bien, lo que pregunto a esta comunidad, se podría hacer de alguna manera (sin crear 700 tablas) algo similar para que me cree un archivo por cada especificación de paquete de mi esquema? o tal y como me temo no me va a quedar más remedio que parsear el archivo de salida e ir creando los archivos individuales manualmente?
De antemano muchas gracias
Me ha caido un encarguito algo peculiar, y es que me han pedido que encripte todos los paquetes que hay en el cliente para que éste no tenga acceso a la información... en fin cosas de empresa.
El caso es que tenemos algo así como 750 paquetes y hacerlos uno por uno pues... me pueden dar las uvas.
Actualmente tengo un script que me está obteniendo todas las líneas que se obtienen de los paquetes, viene a ser algo así:
DECLARE
CURSOR c_body IS
SELECT DISTINCT NAME, COUNT(line) lineas
FROM user_source
WHERE TYPE IN ('PACKAGE')
GROUP BY NAME;
CURSOR c_line_body (nombre user_source.NAME%TYPE,
linea user_source.line%TYPE) IS
SELECT text
FROM user_source us
WHERE us.TYPE IN ('PACKAGE')
AND us.NAME = nombre
AND us.line = linea;
linea VARCHAR2(4000);
BEGIN
FOR i_cursor IN c_body LOOP
FOR i_indice IN 1..i_cursor.lineas LOOP
FOR j_cursor IN c_line_body(i_cursor.NAME, i_indice) LOOP
INSERT INTO x_tablaPrueba_carlos VALUES(j_cursor.text);
END LOOP;
END LOOP;
END LOOP;
END;
Luego lo que hago es hacer un select * from x_tablaPrueba_carlos y el resultado lo guardo en el spool y lo meto en un archivo, ya que al ser las líneas tan largas no puedo usar el dbms_output.put_line para ver lo que ha almacenado en j_cursor.
Este código me almacena en la tabla x_tablaPrueba_carlos todas las líneas que describen todos los paquetes que hay en el esquema.
Bien, lo que pregunto a esta comunidad, se podría hacer de alguna manera (sin crear 700 tablas) algo similar para que me cree un archivo por cada especificación de paquete de mi esquema? o tal y como me temo no me va a quedar más remedio que parsear el archivo de salida e ir creando los archivos individuales manualmente?
De antemano muchas gracias
Valora esta pregunta


0