Posted in 2008年08月28日 ¬ 12:05 上午h.
一直以来用oracle写程序都是UltraEdit,执行和调试在PL/SQL里面,但PL/SQL有些系统的信息无法看到,比较适合做开发用的.
昨天为了管理数据库一些信息,第一次用Toad for oracle这个软件.没有想到第一次使用就遇到:”Can’t initialize OCI. Error -1″.
这个错误经过查明原因是由于没有在系统变量里面增加相关路径,解决的办法如下:在系统变量的Path,配置环境变量 C:\oracle\product\10.2.0\db_1\BIN;这样就可以登陆了.
toad的界面没有PL/SQL友好,但在管理功能比较好.
呵呵,以后接触的工具会越来越多.
继续阅读 »
Posted in 2008年08月27日 ¬ 6:22 下午h.
oracle存储过程
建立一个登录系统,要求达到以下目的。 1、用户通过Bean来认证以及得到得到用户信息。
2、记录用户登录信息,如用户登录次数,最后登录时间。
3、记录操作日志。
未解决及疑惑的问题:
1、用户登录后的Session是否可以通过Bean来判断。
2、通过Bean调用ORACLE存储过程,返回select后的记录集。
操作步骤:
1、建立用户验证Bean:
public boolean checkUser() throws Exception {
boolean flag=false;
ResultSet rs=conn.executeQuery(getSql());
if(rs.next()){
userID =rs.getString(“userID”);
userName =rs.getString(“userName”);
userPWD =rs.getString(“userPWD”);
userUnit =rs.getString(“userUnit”);
userLoadTime =rs.getDate(“userLoadTime”);
userLoadNumeric=rs.getInt(“userLoadNumber”);
flag=true;
}
rs.close();
conn.closeConn();
return flag;
}
通过返回的值判定用户是否存在。
2、记录用户登录信息:
public void changeLoginInfo(String userID) throws Exception{
String sql=”update SystemUserTable set UserLoadTime=sysdate,UserLoadNumber=UserLoadNumber+1 where userID=”+userID+””;
conn.executeUpdate(sql);
}
oracle存储过程3、记录操作日志:
第一步,建立存储过程
create or replace procedure proc_writeNote(
description in varchar2,
wName in varchar2,
wIP in varchar2
)
is
begin
insert into Systemnote (Id,Description,Wname,Wip) values(Autoaddid.Nextval,description,wName,wIP);
commit;
end proc_writeNote;
oracle存储过程第二步、建立操作存储过程的方法(重写prepareCall()方法)
public CallableStatement prepareCall(String produce){
try {
conn = DriverManager.getConnection(DBUrl, UserID, UserPWD);
cstmt=conn.prepareCall(produce);
}
catch (SQLException ex) {
System.err.print(“prepareCall():”+ex.getMessage());
}
return cstmt;
}
第三步,oracle存储过程
public void writeNote(String [...]
继续阅读 »