文档标签‘oracle’

解决toad 连接oracle提示”Can’t initialize OCI. Error -1″

一直以来用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友好,但在管理功能比较好.
 呵呵,以后接触的工具会越来越多.

继续阅读 »

jsp中调用Bean,然后在Bean中调用oracle存储过程

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 [...]

继续阅读 »