Wrap

¿Cómo funciona este parámetro?

1 Respuesta

Respuesta
1
Wrap es un utilitario de Oracle que simplemente coloca el código fuente en un código "no entendible", con el sencillo propósito de proteger la propiedad intelectual.
En una oportunidad se reviso acá en mi compañía la posibilidad de implementarlo para manejar el tema de los pases a producción.
Sintaxis
wrap iname=pp.sql oname=oo.plb
Iname: archivo original
Oname: archivo que contendrá el código no entendible.
Te explico con un ejemplo:
1) creas un package llamado pp.sql:
CREATE OR REPLACE PACKAGE hagf. Prueba AS
PROCEDURE INCLUIR_SIS (param1 IN VARCHAR2);
END prueba;
/
CREATE OR REPLACE PACKAGE BODY hagf.prueba AS
PROCEDURE INCLUIR_SIS (cparam1 VARCHAR2) IS
v_date date;
BEGIN
SELECT to_date('130904','ddmmyy')
INTO v_date
FROM dual;
END;
END prueba;
/
2) Ahora aplicas el utilitario:
wrap iname=pp.sql oname=oo.sql
Esta es la salida:
hagf@crow:~/prueba$ wrap iname=pp.sql oname=oo
PL/SQL Wrapper: Release 8.1.7.4.0 - Production on Mon Sep 13 19:04:49 2004
Copyright (c) Oracle Corporation 1993, 2000. All Rights Reserved.
Processing pp.sql to oo. Plb
3) Ahora si al editar el programa oo. Plb podrás aclarar de que se trata:
--
--
--
CREATE OR REPLACE PACKAGE hagf. Prueba wrapped
0
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
Abcd
3
9
8106000
1
4
0
5
2 :e:
1package:
1prueba:
1INCLUIR_SIS:
1PARAM1:
1VARCHAR2:
0
0
0
13
2
0 a0 1d 97 9a 8f a0 b0
3d b4 55 6a a0 :2 aa 59 58
"oo.plb" 214L, 1908C 1,1 Top
--
--
--
4) Ahora simplemente corres oo. Plb:
hagf@crow:~/prueba$ sqlplus hagf/hagf @oo.plb
SQL*Plus: Release 8.1.7.0.0 - Production on Mon Sep 13 19:07:25 2004
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
With the Partitioning option
JServer Release 8.1.7.4.0 - Production
Package created.
Package Body created.
En la Base de datos con cualquier herramienta visual:Tora, Toad, Enterprise Manager, SqlNavegator, etc. Puedes editar y veras justamente caracteres como los mostrados en el paso 3.
Tan sencillo como resguardar el fuente(pp.sql) y ya queda "protegido" el fuente, ya nadie podrá editar o modificar el código. A manera de protección intelectual del desarrollo es válido, pero también es válido como procedimiento de seguridad que tipifique que no se va a tocar el código fuente, sin previa autorización.
Para finalizar te invito a revisar mediante herramientas (Tora, Toad, Eterprisa Manager, otros) los Procedimientos almacenados del esquema "sys" de cualquier base de datos(Por lo menos 7.x.x.x / 8.x.x.x) y podrás constatar que a ellos se le ha aplicado el utilitario "wrap".
Te recomiendo que revises la siguiente página en la web, esta muy bien explicado:
"http://www.databasejournal.com/features/oracle/article.php/3382331"
Espero haber aclarado tu duda,
Un cordial saludo,
_________________________________
Hugo Gonzalez,
Cc's Venezuela.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas