Re: help!! how to call pl/sql anonymous block from java?

From: Vladimir M. Zakharychev <vladimir.zakharychev_at_gmail.com>
Date: Sat, 29 Mar 2008 06:06:14 -0700 (PDT)
Message-ID: <8dc6a2a1-60fe-4eaa-892b-92ae464749f4@d4g2000prg.googlegroups.com>


On Mar 29, 8:47 am, code <kevinj..._at_gmail.com> wrote:
> I know that jdbc can call a pl/sql package or procedure,but if i
> want to call a pl/sql anonymous block, how can i do it? no procedure
> name or package name will be offered.
> Can u give me a sample code? thanks very much

Just use a CallableStatement or OracleCallableStatement:

import java.sql.*;
import oracle.jdbc.*;
...

try
{
  Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@dbhost: 1521:ORCL","SCOTT","TIGER");
  OracleCallableStatement oracs =
((OracleConnection)conn).prepareCall("BEGIN do_something; END;");   try
  {
    if (oracs.execute())
    {

      ResultSet rs = oracs.getResultSet();
      // process the result set here

    }
  }
  catch(SQLException ex)
  {
    System.out.println("Exception in execute phase: ");     ex.printStackTrace();
  }
  finally
  {
    // we want to close the statement regardless if it failed or not     oracs.close();
  }
}
catch(SQLException sqlex)
{
  System.out.println("General SQL exception encountered:");   sqlex.printStackTrace();
}

Hth,

   Vladimir M. Zakharychev
   N-Networks, makers of Dynamic PSP(tm)    http://www.dynamicpsp.com Received on Sat Mar 29 2008 - 08:06:14 CDT

Original text of this message