5 Replies Latest reply on Nov 13, 2013 5:15 AM by VivekkumarManirao

    BeanShell script error: Parse error

    VivekkumarManirao

      Hi All,

       

      I am trying to drop objects from database by using ODI procedure and keeping the tech as JAVA Shellbean

       

      Please find below code that i use:

       

      <@

      import java.io.*;

      import java.sql.*;

      import java.lang.*;

       

      String url="jdbc:oracle:thin:@dummy:1521:Test";

      String id="Test1";

      String pass ="Test2";

       

      Connection myCon1 = java.sql.DriverManager.getConnection(url,id,pass);

      Connection myCon2 = java.sql.DriverManager.getConnection(url,id,pass);

       

      Statement myStmt1 = myCon1.createStatement();

      Statement myStmt2 = myCon2.createStatement();

       

      String sql1="SELECT OBJECT_NAME,OBJECT_TYPE  FROM USER_OBJECTS_T";

       

      ResultSet  rs = myStmt1.executeQuery(sql1);

       

      String  type = null;

      String  name = null;

      String sql2 = null;

      String joins = null;

      try {


      while(rs.next())

      {

      type = rs.getString(1);

      name = rs.getString(2);

      sql2 = "DROP  " + type + "  " + name) ;

      myStmt2.executeUpdate( sql2 );

      }

      rs.close();

      myStmt2.close();

      myStmt1.close();

      myCon1.close();

      myCon2.close();

      }

       

      catch (SQLException e)

      {

      out.println(e.getMessage());

      }

      @>

       

       

      When i execute above code it throws below error:

       

      org.apache.bsf.BSFException: BeanShell script error: Parse error at line 1, column 36.  Encountered: 950 BSF info: Clean database at line: 0 column: columnNo

        at bsh.util.BeanShellBSFEngine.eval(Unknown Source)

        at bsh.util.BeanShellBSFEngine.exec(Unknown Source)

        at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)

        at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)

        at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2473)

        at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)

        at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)

        at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)

        at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)

        at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)

        at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:580)

        at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)

        at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)

        at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)

        at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)

        at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)

        at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)

        at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)

        at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)

        at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)

        at java.lang.Thread.run(Thread.java:662)

       

       

      But when analysing the root cause on this ,i found that the problem on below code

       

      sql2 = "DROP  " + type + "  " + name) ;

      myStmt2.executeUpdate( sql2 ); //getting error at this step

       

      Please let me know ,if any one aware or how clear this error.

       

      Thanks in advance !

       

      By Vivekkumar