oracle存储过程加密的方法
作者:奥黛丽凵赫本 | 来源:互联网 | 2023-05-19 04:51
配置环境:1、数据库:Oracle8iR2(8.1.7)forNT企业版2、安装路径:C:ORACLE实现方法:1.D:>setNLS_LANGAMERICAN_AMERICA.USACII7或D:>
配置环境:
1、数 据 库:Oracle 8i R2 (8.1.7) for NT 企业版
2、安装路径:C:ORACLE
实现方法:
1.D:>set NLS_LANG=AMERICAN_AMERICA.USACII7
或
D:>set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
D:>set
直接打set命令可以查看环境变量
2.在D:下创建a.sql文件,内容如下:
Java代码
create or replace procedure test1(i in number) as
begin
dbms_output.put_line('输入参数是'||to_char(i));
end;
create or replace procedure test1(i in number) as
begin
dbms_output.put_line('输入参数是'||to_char(i));
end;
3.D:>wrap iname=a.sql
PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001
Copyright (c) Oracle Corporation 1993, 2000. All Rights Reserved.
Processing a.sql to a.plb
4.打开a.plb,现在它的内容如下:
Java代码
create or replace procedure test1 wrapped
0
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
3
7
8106000
1
4
0
8
2 :e:
1TEST1:
1I:
1NUMBER:
1DBMS_OUTPUT:
1PUT_LINE:
1输入参数是:
1||:
1TO_CHAR:
0
0
0
1f
2
0 1d 9a 8f a0 b0 3d b4
55 6a :2 a0 6b 6e 7e :2 a0 a5
b b4 2e a5 57 b7 a4 b1
11 68 4f 17 b5
1f
2
0 3 4 1d 19 18 25 15
2a 2e 32 36 3a 3d 42 45
49 4d 4e 50 51 56 57 5c
5e 62 64 70 74 76 7f
1f
2
0 1 b 11 16 :2 11 10 :3 1
:2 d 16 22 24 2c :2 24 :2 16 :a 1
1f
2
0 :9 1 :d 3 :2 2 :3 1 4 :2 1
81
4
:4 0 1 :a 0 1b
1 :4 0 5 :2 0
:2 3 :3 0 2 :7 0
5 4 :3 0 7
:2 0 1b 2 8
:2 0 4 :3 0 5
:3 0 a b 0
6 :4 0 7 :2 0
8 :3 0 2 :3 0
7 f 11 9
e 13 :3 0 :2 c
15 :2 0 17 10
1a :3 0 1a 0
1a 19 17 18
:6 0 1b :2 0 2
8 1a 1d :2 0
1 1b 1e :8 0
13
4
:3 0 1 3 1
6 1 10 2
d 12 1 14
1 16 2 16
1c
1
4
0
1d
0
1
14
1
2
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0
2 0 1
3 1 0
0
create or replace procedure test1 wrapped
0
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
3
7
8106000
1
4
0
8
2 :e:
1TEST1:
1I:
1NUMBER:
1DBMS_OUTPUT:
1PUT_LINE:
1输入参数是:
1||:
1TO_CHAR:
0
0
0
1f
2
0 1d 9a 8f a0 b0 3d b4
55 6a :2 a0 6b 6e 7e :2 a0 a5
b b4 2e a5 57 b7 a4 b1
11 68 4f 17 b5
1f
2
0 3 4 1d 19 18 25 15
2a 2e 32 36 3a 3d 42 45
49 4d 4e 50 51 56 57 5c
5e 62 64 70 74 76 7f
1f
2
0 1 b 11 16 :2 11 10 :3 1
:2 d 16 22 24 2c :2 24 :2 16 :a 1
1f
2
0 :9 1 :d 3 :2 2 :3 1 4 :2 1
81
4
:4 0 1 :a 0 1b
1 :4 0 5 :2 0
:2 3 :3 0 2 :7 0
5 4 :3 0 7
:2 0 1b 2 8
:2 0 4 :3 0 5
:3 0 a b 0
6 :4 0 7 :2 0
8 :3 0 2 :3 0
7 f 11 9
e 13 :3 0 :2 c
15 :2 0 17 10
1a :3 0 1a 0
1a 19 17 18
:6 0 1b :2 0 2
8 1a 1d :2 0
1 1b 1e :8 0
13
4
:3 0 1 3 1
6 1 10 2
d 12 1 14
1 16 2 16
1c
1
4
0
1d
0
1
14
1
2
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0
2 0 1
3 1 0
0
5.运行a.plb
Java代码
SQL> @d:a.plb
SQL> @d:a.plb
过程已创建。
6、运行存储过程
Java代码
SQL> set serveroutput on
SQL> execute test1(1);
SQL> set serveroutput on
SQL> execute test1(1);
输入参数是1
PL/SQL 过程已成功完成。
7、查看存储过程的代码
Java代码
SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';
SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';
结果:看不到其源码
推荐阅读
-
本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ...
[详细]
蜡笔小新 2023-12-13 19:21:06
-
本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ...
[详细]
蜡笔小新 2023-12-11 15:10:15
-
-
本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ...
[详细]
蜡笔小新 2023-12-14 14:06:10
-
本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ...
[详细]
蜡笔小新 2023-12-13 15:15:30
-
在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ...
[详细]
蜡笔小新 2023-12-11 15:49:10
-
本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ...
[详细]
蜡笔小新 2023-12-11 13:09:19
-
本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ...
[详细]
蜡笔小新 2023-12-10 15:54:07
-
1Lock与ReadWriteLock1.1LockpublicinterfaceLock{voidlock();voidlockInterruptibl ...
[详细]
蜡笔小新 2023-12-09 09:15:17
-
本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ...
[详细]
蜡笔小新 2023-12-14 17:15:38
-
本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ...
[详细]
蜡笔小新 2023-12-14 16:00:02
-
本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ...
[详细]
蜡笔小新 2023-12-14 15:43:50
-
本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ...
[详细]
蜡笔小新 2023-12-13 15:24:30
-
猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ...
[详细]
蜡笔小新 2023-12-13 12:04:03
-
1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ...
[详细]
蜡笔小新 2023-12-13 10:17:15
-
本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ...
[详细]
蜡笔小新 2023-12-12 20:00:06
-