Back Forum Reply New

stored Procedure execution

mons.dbcp.BasicDataSourcequot;   destroy-method=quot;closequot; gt;   lt;property name=quot;driverClassNamequot;        value=quot;oracle.jdbc.driver.OracleDriverquot; /gt;   lt;property name=quot;uclquot;       value=quot;jdbcracle:thinlocalhost:1521:XEquot; /gt;   lt;property name=quot;usernamequot;  value=quot;scottquot; /gt;   lt;property name=quot;passwordquot;  value=quot;tigerquot; /gt;  lt;/beangt;
  lt;bean id=quot;subprogquot;    class=quot;com.htc.spring25.appls.jdbc.SubprogramsDemo  quot;gt;   lt;constructor-arg ref=quot;dataSourcequot; /gt;  lt;/beangt;
lt;/beansgt;

package com.htc.spring25.appls.jdbc;
import org..dao.DataAccessException;
import org..jdbc.core.SqlParameter;
import org..jdbc.core.SqlOutParameter;
import org..jdbc.object.StoredProcedure;
import org..context.ApplicationContext;
import org..context.support.ClassPathXmlAp  plicationContext;
import org.apache.log4j.Logger;
import org.apache.log4j.FileAppender;
import org.apache.log4j.HTMLLayout;
import java.sql.SQLException;
import javax.sql.DataSource;
import static java.sql.Types.*;
import java.util.Map;
import java.util.HashMap;
public class SubprogramsDemo {private OutParamsProcedure proc;public SubprogramsDemo(DataSource ds) { super(); proc = new OutParamsProcedure(ds);}  public static class OutParamsProcedure extends StoredProcedure {  public static final String PROCNAME = quot;SENDPAYDTLSquot;;      public OutParamsProcedure(DataSource ds) {   super(ds,PROCNAME);   declareParameter(new SqlParameter(quot;ENOquot;,INTEGER));   declareParameter(new SqlOutParameter(quot;SALARYquot;,DOUBLE));   declareParameter(new SqlOutParameter(quot;COMMISSIONquot;,DOUBLE));       compile();  }      public void execute(int eno) {   Maplt;String,Objectgt; params =        new HashMaplt;String,Objectgt;(1);   params.put(quot;ENOquot;,new Integer(eno));   System.out.println(quot;.....quot;+eno);   Map result = execute(params);   System.out.println(quot;Total Salary:quot;+(Double)result.get(quot;SALARYquot;));   System.out.println(quot;Total Commission:quot;+(Double)result.get(quot;COMMISSIONquot;));  } }  public void executeProc(int eno){  this.proc.execute(eno);    }        public static void main(String[] args)  {   try {      Logger logger  = Logger.getRootLogger();   logger.addAppender(new FileAppender(new HTMLLayout(),           quot;log1.logquot;,true));   ApplicationContext factory =        new ClassPathXmlApplicationContext(quot;subprogram.xmlquot;);  SubprogramsDemo demo = (SubprogramsDemo)factory.getBean(quot;subprogquot;);        demo.executeProc(7654);                      }   catch(Exception e) {       System.out.println(e);   }  }
}

oracle database
OS:Windows Vista

procedure used is
create or replace procedure sendpaydtls(eno in number,salary out number,commission out number) is      x number;      
begin     select count(1) into x from emp       where empno=eno;     if(x=0) then      salary:=0;      commission:=0;      else       select sal*12,nvl(comm,0)*12 into salary,commission from emp        where empno=eno;     end if;
end;
/      
when i run on command line it is showing out-of-memory and generating 2.5GB log1.log file
can anybody help me in debugging this
¥
Back Forum Reply New