日期:2014-05-17  浏览次数:20797 次

oracle问题求教
小弟现有一oracle方面的问题,求各位大侠拔刀相助
具体需求是这样的:用sqlplus调用*.sql文件,要求写成一个批处理文件。这个倒是不难:sqlplus 用户名/密码  @文件路径
接着经理说用户名密码看看能不能弄成加密的,明文不安全,还有执行sql文件之后看看能不能返回直接结果,比如说执行成功返回1,执行失败返回0。
求各位前辈不吝赐教,小弟感激涕零

------解决方案--------------------
第一个问题:
    用户名和密码都加密了,sqlplus能解密吗???(显然不能)。
    我认为 不用把连接用户的命令写在脚本里,
    可以由有权限的人用sqlplus登录连接之后直接执行批处理文件(这样更安全)。
第二个问题:
    可用sqlplus的相关命令来控制,
    比如,echo,termout
    
------解决方案--------------------
1:
可以使用bat加密解密来进行,相关的可以百度"bat加密解密"。或者干脆将bat文件进行整个加密,不显示明文就可以了。

2:

sqlplus scott/scott@xxxxx @execuate.sql


execuate.sql:


SET AUTOPRINT ON

VARIABLE X VARCHAR2(100);

BEGIN
   SELECT COUNT(1) INTO :X FROM EMP; 
END;
/

------解决方案--------------------
执行结果如下:

SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 1月 28 13:13:30 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


PL/SQL 过程已成功完成。


X
---------------------------------------------
14

已用时间:  00: 00: 00.00
13:13:30 ChenZw>