PUBLIC.SQL Script

hi
i created a newdatabase..then ran "catalog.sql" and then "catproc.sql" and then
"scott.sql" for demo schema...now when i tried to connectthrough scott...it get me connected but
also gave an error message
"Error accessing PRODUCT_USER_PROFILE
Warning: Product user profile information not loaded!
You may need to run PUBLIC.SQL as SYSTEM"
can anybody tell me why am i facing this error and why is this error ocurring
Regards

Are you sure it wasn't pupbld.sql? You can find this script in ORACLE_HOME\sqlplus\admin. It should be run once when you first created your database instance.
The comments in the beginning explain what it's used for.
-- DESCRIPTION
-- Script to install the SQL*Plus PRODUCT_USER_PROFILE tables. These
-- tables allow SQL*Plus to disable commands per user. The tables
-- are used only by SQL*Plus and do not affect other client tools
-- that access the database. Refer to the SQL*Plus manual for table
-- usage information.
-- This script should be run on every database that SQL*Plus connects
-- to, even if the tables are not used to restrict commands.

Similar Messages

  • Calling sql script in plsql procedure

    Hello,
    I have a sql script named mytest.sql and i want to execute this from a stored procedure.
    following is the contents of this script
    spool d:\mytestsql.txt
    select * from tab;
    spool off
    Actually i want my sql script to run daily to export some tables data.
    I can execute this script from a sql prompt but i want to run it from enterprise manager.
    I am using oracle 10gR2 on windows2000 system.
    Any idea about scheduling the sql script to run automatically??
    How to execute this sql script from a plsql procedure??
    Thanks

    Hi all,
    Thanks for all the replies. I have found the solution with external procedures.
    Following is the complete step by step guide.
    1. Create the OSCommand Java Class using the following statement:
    connect as any user:
    create or replace and compile java source named oscommand as
    import java.io.*;
    public class OSCommand{
    public static String Run(String Command){
    try{
    Runtime.getRuntime().exec(Command);
    return("0");
    catch (Exception e){
    System.out.println("Error running command: " + Command +
    "\n" + e.getMessage());
    return(e.getMessage());
    2. Create the following Wrapper Function using the following statement:
    CREATE or REPLACE FUNCTION OSCommand_Run(Command IN STRING)
    RETURN VARCHAR2 IS
    LANGUAGE JAVA
    NAME 'OSCommand.Run(java.lang.String) return int';
    3. connect as sys
    Execute dbms_java.grant_permission( 'FKHALID','SYS:java.io.FilePermission', '<<ALL FILES>>','execute');
    execute dbms_java.grant_permission( 'FKHALID','SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '*' );
    execute dbms_java.grant_permission( 'FKHALID','SYS:java.lang.RuntimePermission', 'readFileDescriptor', '*' );
    commit;
    note: here fkhalid is the oracle user.
    connect as fkhalid user:
    Declare
    expdp_cmd Varchar2(2000);
    Begin
    expdp_cmd := OSCommand_Run('cmd /c sqlplus fkhalid@mtcedwt/pwd @d:\ORA_DUMPS\mydbexp.sql');
    DBMS_OUTPUT.Put_Line(expdp_cmd);
    End;
    In Unix
    Set Serverout On
    Declare
    x Varchar2(2000);
    Begin
    x := OSCommand_Run('/home/test/myoscommand.sh')
    DBMS_OUTPUT.Put_Line(x);
    End;
    I will check the dbms_scheduler also and will let you know the results.
    Thanks

  • OIM 10g : SQL Script to Delete or Cancel process instance tasks for user resources

    Hello,
    I have users with a resource with a process instance that have a large number (1000) of task instance related to reconciliations (Reconciliation Update Received).
    And when trying to revoke this resource, OIM take a long time to perfom this job, it is due to the fact that all this taks are canceled one by one...
    My question is : I want to perform manualy using a script this cancel of all this tasks, or maybe better, delete all this tasks when there'are too many, can someone provide me this sql scripts.
    Thanks in advance.

    I'm running this script into an adapter with the following code :
    public boolean clearTaskInstances(String user_key, String process_name, String task_name) throws OIMException {
      $logger.debug("Utils.clearTaskInstances() : Inside deleting task instances debug 1");
      tcDataProvider provider = getOIMConnection().getDataBase();
      $logger.debug("Utils.clearTaskInstances() : Inside deleting task instances debug 2");
    String query = "DELETE FROM OSI WHERE OSI.MIL_KEY=" +  
      "(SELECT MIL.MIL_KEY FROM MIL WHERE MIL.TOS_KEY=" +
      "(SELECT TOS_KEY FROM TOS LEFT JOIN PKG ON PKG.PKG_KEY=TOS.PKG_KEY WHERE PKG.PKG_NAME=" +
      "'" + process_name + "') AND MIL.MIL_NAME='" + task_name + "'" +
      "AND OSI.ORC_KEY IN (SELECT ORC.ORC_KEY FROM ORC WHERE ORC.USR_KEY='" + user_key +"'))";
      $logger.debug("Utils/clearTaskInstance : Delete Query = " + query);
      PreparedStatementUtil preparedStatement = new PreparedStatementUtil();
       preparedStatement.setStatement(provider, query);
       try {
       preparedStatement.executeUpdate();
      $logger.debug("Utils/clearTaskInstance : Delete Query executed");
      return true;
      } catch (Exception e) {
      $logger.error("Utils/clearTaskInstance : Error while executing Delete Query : " + e);
      return false;
    , but this generate 18M of SQL error logs !!
    The same SQL request in SQL Dev works fine, the same code with OIM 11gR2 works fine too, the problem seems to be only with OIM 9.1.
    The first lines in the logs are :
    DEBUG,12 Jul 2013 09:03:20,972,[XELLERATE.CUSTOM],connection object created
    DEBUG,12 Jul 2013 09:03:20,972,[XELLERATE.CUSTOM],Utils.clearTaskInstances() : Inside deleting task instances debug 2
    DEBUG,12 Jul 2013 09:03:20,972,[XELLERATE.CUSTOM],Utils/clearTaskInstance : Delete Query = DELETE FROM OSI WHERE OSI.MIL_KEY=(SELECT MIL.MIL_KEY FROM MIL WHERE MIL.TOS_KEY=(SELECT TOS_KEY FROM TOS LEFT JOIN PKG ON PKG.PKG_KEY=TOS.PKG_KEY WHERE PKG.PKG_NAME='SMC Prov Process') AND MIL.MIL_NAME='Reconciliation Update Received'AND OSI.ORC_KEY IN (SELECT ORC.ORC_KEY FROM ORC WHERE ORC.USR_KEY='78'))
    ERROR,12 Jul 2013 09:03:46,641,[XELLERATE.CUSTOM],Utils/clearTaskInstance : Error while executing Delete Query : com.thortech.xl.dataaccess.tcDataSetException: Data Access Error
    ERROR,12 Jul 2013 09:03:47,047,[XELLERATE.SERVER],Class/Method: tcScheduleItem/getMilestoneInfo Error : ScheduleItem has  No Milestone.
    ERROR,12 Jul 2013 09:03:47,050,[XELLERATE.DATABASE],select orc.orc_status, orc.pkg_key from orc orc where orc.orc_key =
    java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
      at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
      at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
      at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
      at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:780)
      at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:855)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1187)
      at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1378)
      at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:387)
      at weblogic.jdbc.wrapper.Statement.executeQuery(Statement.java:479)
      at com.thortech.xl.util.JDBCUtils.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataobj.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.checkApprovalProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.eventPreInsert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelORC(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperationsSession.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperations_voj9p2_EOImpl.revokeObjects(tcUserOperations_voj9p2_EOImpl.java:2285)
      at Thor.API.Operations.tcUserOperationsClient.revokeObjects(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.security.Security.runAs(Security.java:41)
      at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
      at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
      at $Proxy60.revokeObjects(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.revokeProvisionedResources(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
      at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.execute(Unknown Source)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    ERROR,12 Jul 2013 09:03:47,051,[XELLERATE.DATABASE],Class/Method: tcDataBase/readPartialStatement encounter some problems: ORA-00936: missing expression
    java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
      at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
      at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
      at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
      at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:780)
      at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:855)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1187)
      at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1378)
      at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:387)
      at weblogic.jdbc.wrapper.Statement.executeQuery(Statement.java:479)
      at com.thortech.xl.util.JDBCUtils.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataobj.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.checkApprovalProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.eventPreInsert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelORC(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperationsSession.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperations_voj9p2_EOImpl.revokeObjects(tcUserOperations_voj9p2_EOImpl.java:2285)
      at Thor.API.Operations.tcUserOperationsClient.revokeObjects(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.security.Security.runAs(Security.java:41)
      at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
      at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
      at $Proxy60.revokeObjects(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.revokeProvisionedResources(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
      at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.execute(Unknown Source)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    ERROR,12 Jul 2013 09:03:47,052,[XELLERATE.SERVER],Class/Method: tcScheduleItem/checkApprovalProcess encounter some problems: Data Access Error
    com.thortech.xl.dataaccess.tcDataSetException: Data Access Error
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.checkApprovalProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.eventPreInsert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelORC(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperationsSession.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperations_voj9p2_EOImpl.revokeObjects(tcUserOperations_voj9p2_EOImpl.java:2285)
      at Thor.API.Operations.tcUserOperationsClient.revokeObjects(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.security.Security.runAs(Security.java:41)
      at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
      at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
      at $Proxy60.revokeObjects(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.revokeProvisionedResources(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
      at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.execute(Unknown Source)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Data AccessException:
    com.thortech.xl.orb.dataaccess.tcDataAccessException: DB_READ_FAILEDDetail: SQL: select orc.orc_status, orc.pkg_key from orc orc where orc.orc_key = Description: ORA-00936: missing expression
    SQL State: 42000Vendor Code: 936Additional Debug Info:com.thortech.xl.orb.dataaccess.tcDataAccessException
      at com.thortech.xl.dataaccess.tcDataAccessExceptionUtil.createException(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataBase.createException(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataobj.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.checkApprovalProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.eventPreInsert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelORC(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperationsSession.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperations_voj9p2_EOImpl.revokeObjects(tcUserOperations_voj9p2_EOImpl.java:2285)
      at Thor.API.Operations.tcUserOperationsClient.revokeObjects(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.security.Security.runAs(Security.java:41)
      at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
      at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
      at $Proxy60.revokeObjects(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.revokeProvisionedResources(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
      at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.execute(Unknown Source)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Source SQL Exception:
    java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
      at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
      at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
      at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
      at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:780)
      at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:855)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1187)
      at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1378)
      at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:387)
      at weblogic.jdbc.wrapper.Statement.executeQuery(Statement.java:479)
      at com.thortech.xl.util.JDBCUtils.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataobj.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.checkApprovalProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.eventPreInsert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelORC(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperationsSession.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperations_voj9p2_EOImpl.revokeObjects(tcUserOperations_voj9p2_EOImpl.java:2285)
      at Thor.API.Operations.tcUserOperationsClient.revokeObjects(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.security.Security.runAs(Security.java:41)
      at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
      at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
      at $Proxy60.revokeObjects(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.revokeProvisionedResources(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
      at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.execute(Unknown Source)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    ERROR,12 Jul 2013 09:03:47,054,[XELLERATE.DATABASE],Error: Error Keyword: DAE.UNKNOWN_CODE
    Description: An unknown error code was passed.
    Remedy: Contact your system adminstrator.
    Action: E
    Severity: C
    Help URL:
    Detail:
    com.thortech.xl.dataaccess.tcDataSetException: Data Access Error
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcDataSet.executeQuery(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.checkApprovalProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcScheduleItem.eventPreInsert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
      at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelORC(Unknown Source)
      at com.thortech.xl.dataobj.util.tcProcessUtilities.cancelProcess(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.dataobj.tcOIU.revokeObjectInstance(Unknown Source)
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperationsSession.revokeObjects(Unknown Source)
      at com.thortech.xl.ejb.beans.tcUserOperations_voj9p2_EOImpl.revokeObjects(tcUserOperations_voj9p2_EOImpl.java:2285)
      at Thor.API.Operations.tcUserOperationsClient.revokeObjects(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.security.Security.runAs(Security.java:41)
      at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
      at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
      at $Proxy60.revokeObjects(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.revokeProvisionedResources(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
      at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
      at com.thortech.xl.webclient.actions.ProvisionedResourcesForUserAction.execute(Unknown Source)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Data AccessException:
    com.thortech.xl.orb.dataaccess.tcDataAccessException: DB_READ_FAILEDDetail: SQL: select orc.orc_status, orc.pkg_key from orc orc where orc.orc_key = Description: ORA-00936: missing expression
    SQL State: 42000Vendor Code: 936Additional Debug Info:com.thortech.xl.orb.dataaccess.tcDataAccessException
      at com.thortech.xl.dataaccess.tcDataAccessExceptionUtil.createException(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataBase.createException(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataobj.tcDataBase.readPartialStatement(Unknown Source)
      at com.thortech.xl.dataaccess.tcDataSet.executeQuery(Unknown Source)

  • Not able to read sql script file in ADF mobile

    hi,
    i am trying to create some DB tables in SQLLite DB (similar to the HR sample app where it creates bunch of DB objects using hr.sql file in .adf/META-INF)..
    but i am getting following error at runtime. i placed the file in .adf/META-INF directory in my application.
    "sqllite returned: error code=14, msg = cannot open file at source...."
    what am i missing here?
    please help.
    regards,
    ad

    This how I have done it.
    This is the start method from my Listener:
      public void start()
          String databaseName = "mydatabase";
          File dbFile = new File(AdfmfJavaUtilities.getDirectoryPathRoot(AdfmfJavaUtilities.ApplicationDirectory)+"/"+databaseName+".db");
          if(!dbFile.exists())
                try {
                    this.initializeDatabase(databaseName);
                } catch (Exception e) {
                    System.out.println(e.getMessage());
      }And this is a custom method also in the listener class
      private static void initializeDatabase(String databaseName) throws Exception
          List stmts = null;
          try {
              ClassLoader cl = Thread.currentThread().getContextClassLoader();
              InputStream is = cl.getResourceAsStream(".adf/META-INF/"+databaseName+".sql");
              if (is == null) {
                  // .sql script not found
              BufferedReader bReader = new BufferedReader(new InputStreamReader(is));
              stmts = new ArrayList();
              String strstmt = "";
              String ln = bReader.readLine();
              while (ln != null) {
                  if (ln.startsWith("REM") || ln.startsWith("COMMIT")) {
                      ln = bReader.readLine();
                      continue;
                  strstmt = strstmt + ln;
                  if (strstmt.endsWith(";")) {
                      System.out.println(strstmt);
                      stmts.add(strstmt);
                      strstmt = "";
                      ln = bReader.readLine();
                      continue;
                  ln = bReader.readLine();
              String Dir = AdfmfJavaUtilities.getDirectoryPathRoot(AdfmfJavaUtilities.ApplicationDirectory);
              String connStr = "jdbc:sqlite:" + Dir + "/"+databaseName+".db";
              Connection conn = null;
              conn = new SQLite.JDBCDataSource(connStr).getConnection();
              conn.setAutoCommit(false);
              for (int i = 0; i < stmts.size(); i++)
                  Statement pStmt = conn.createStatement();
                  pStmt.executeUpdate((String)stmts.get(i));
              conn.commit();
              conn.close();
          } catch (Exception ex)
              ex.printStackTrace();
          }My .sql scrip named "mydatabase.sql" located in the ADF META-INF folder.
    See this picture :
    http://upload.wiim.be/img/Screenshot%20at%20jan.%2019%2011-39-30.pngDon't forget the register your Listener class to the adfmf-application.xml file!
    http://upload.wiim.be/img/Screenshot%20at%20jan.%2019%2011-42-24.png

  • Calling sql script from pl/sql block

    Hi
    I want to call a sql script from pl/sql block.
    like
    CREATE OR REPLACE procedure DataBaseExport(user_name in varchar2, pwd in varchar2)
    as
    begin
    execute immediate  '@ C:\Documents and Settings\umesh\emp.sql';
    end DataBaseExport;
    /

    Try something like this -
    CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "Host" AS
    import java.io.*;
    public class Host
         public static void executeCommand(String command)
         try {
                String[] finalCommand;
                   if (isWindows())
                        finalCommand = new String[4];
                        // Use the appropriate path for your windows version.
                        finalCommand[0] = "C:\\windows\\system32\\cmd.exe"; // Windows XP/2003
                        //finalCommand[0] = "C:\\winnt\\system32\\cmd.exe"; // Windows NT/2000
                        finalCommand[1] = "/y";
                        finalCommand[2] = "/c";
                        finalCommand[3] = command;
                   else
                        finalCommand = new String[3];
                        finalCommand[0] = "/bin/sh";
                        finalCommand[1] = "-c";
                        finalCommand[2] = command;
              final Process pr = Runtime.getRuntime().exec(finalCommand);
             pr.waitFor();
             new Thread(new Runnable()
                public void run()
                      BufferedReader br_in = null;
                   try
                        br_in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
                        String buff = null;
                        while ((buff = br_in.readLine()) != null)
                                  System.out.println("Process out :" + buff);
                               try {Thread.sleep(100); } catch(Exception e) {}
                        br_in.close();
                   catch (IOException ioe)
                        System.out.println("Exception caught printing process output.");
                        ioe.printStackTrace();
                 finally
                     try {
                              br_in.close();
                          } catch (Exception ex) {}
         ).start();
         new Thread(new Runnable()
           public void run()
                BufferedReader br_err = null;
                try
                   br_err = new BufferedReader(new InputStreamReader(pr.getErrorStream()));
                   String buff = null;
                   while ((buff = br_err.readLine()) != null)
                        System.out.println("Process err :" + buff);
                        try
                           Thread.sleep(100);
                         } catch(Exception e) {}
                   br_err.close();
               catch (IOException ioe)
                   System.out.println("Exception caught printing process error.");
                   ioe.printStackTrace();
              finally
                  try
                          br_err.close();
                   catch (Exception ex) {}
          ).start();
         catch (Exception ex)
                  System.out.println(ex.getLocalizedMessage());
      public static boolean isWindows()
              if (System.getProperty("os.name").toLowerCase().indexOf("windows") != -1)
              return true;
              else
              return false;
    CREATE OR REPLACE PROCEDURE Host_Command (p_command IN VARCHAR2)
    AS LANGUAGE JAVA
    NAME 'Host.executeCommand (java.lang.String)';
    --- THE PERMISSIONS ---
    call dbms_java.grant_permission('SYSTEM', 'SYS:java.io.FilePermission', '<<ALL FILES>>', 'read ,write, execute, delete');
    call dbms_java.grant_permission('SYSTEM', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');
    call dbms_java.grant_permission('SYSTEM', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '');And, finally,
    create or replace procedure call_sql_file(usr  in varchar2,
                                              pwd  in varchar2,
                                              host_str in varchar2)
    is
    begin
       host('sqlplus -s usr/pwd@host_str C:\UAX_Auto_Count.sql');
    exception
      when others then
        dbms_output.put_line(sqlerrm);
    end;Now, you can pass all the argument in order to execute that file.
    N.B.: Not Tested...
    Regards.
    Satyaki De.

  • Can we execution  sql script through java ?

    Hi All,
    Can we execute sql script ("name.sql") through java programe.
    I am not talking about reading sql script one by one and excute.
    I just want to send this sql script to oracle console.
    Or any body can give other alternative I have to lot of db operation in less time.
    - Vikas Kumar Sahu

    Kumar,
    not sure whether this is any help, but you can try and use the code below.
    I've knocked it together in about an hour so it's far from production ready (particularly, assumes one-line comments starting with '#' and nothing else - queries are assumed multi-line, but terminated by ';' the following would cause trouble:
    SELECT * FROM table; SELECT *
    FROM another_table;
    and, of course, you can't get to the ResultSet.
    But, hey, it's a start!
    Best,
    Marco.
    (www.infinitebw.com)
    admin (at) infinitebw.com
    package com.ibw.database;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.sql.*;
    import com.ibw.exception.DatabaseException;
    public class SqlScript {
         public final static char QUERY_ENDS = ';';
         private File script;
         private Connection conn;
         private Statement stat;
         * @param args
         * @throws SQLException
         public SqlScript(String scriptFileName) throws SQLException {
              script = new File(scriptFileName);
    // this is a 'custom' class, just use instead getConnection() from the
    // DriverManager instead
              conn = ConnectionManager.getConn("test");
              stat = conn.createStatement();
         public static void main(String[] args) {
              try {
                   SqlScript sqlScript = new SqlScript("C:/temp/myscript.sql");
                   sqlScript.loadScript();
                   sqlScript.execute();
              } catch (SQLException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
         protected void loadScript() throws IOException, SQLException {
              BufferedReader reader = new BufferedReader(new FileReader(script));
              String line;
              StringBuffer query = new StringBuffer();
              boolean queryEnds = false;
              while ((line = reader.readLine()) != null) {
                   if (isComment(line))
                        continue;
                   queryEnds = checkStatementEnds(line);
                   query.append(line);
                   if (queryEnds) {
                        stat.addBatch(query.toString());
                        query.setLength(0);
         private boolean isComment(String line) {
              if ((line != null) && (line.length() > 0))
                   return (line.charAt(0) == '#');
              return false;
         public void execute() throws IOException, SQLException {
              stat.executeBatch();
         private boolean checkStatementEnds(String s) {
              return (s.indexOf(QUERY_ENDS) != -1);
    }

  • Reverse engineering sql script inserts to java enumerators

    Hello.
    I'm working on an application that uses a number os tables to store qualifier information about certain entities. A person can, for example, be an "operator" or an "end-user".
    These sets of qualifying data are static, an work as enumerators.
    I have a SQL script containig a batch of insert statements which I world like to use to generate the corresponding java enumerator.
    So, i I have the following lines in my script:
    insert into PERSON_CATEGORY values(1, "operator");
    insert into PERSON_CATEGORY values(2, "end-user");
    a java enumerator file would be generated containing "operator" and "end-user" as the possible enumeration values.
    Can anyone point me to a tool providing the mechanisms necessary to do this?
    Thanks in advance,
    Hugo Oliveira
    [email protected]

    Actually you can easily do that with SQL:
    select 'public enum Category {'
    from dual
    union all
    select '  '||category||decode(rownum, 1, '', ',')
    from PERSON_CATEGORY
    union all
    select '}'
    from dualAssuming that there is a column category in the table person_category (btw: you should avoid INSERTS without stating the table columns as seen in the example in your first post).
    The result of this query can directly be saved as a Category.java
    Using a shell/batch script this can be automated as well.

  • Exceuting SQL Script through java

    Hi All
    I am making an installer for my application. How do i execute a SQL script through java. Its a sepeate file that has the SQL script for DB creation.
    Regards
    Abhinav

    If you database support ";" to separate sqll, then you can use Statement.execute(sql); to run all SQLscipt once, otherwise you need to load all sqls into Vector, then reun sql step by step. Copy some code for instance:
    public final static Object[] getSQLStatements(String sqlFile) throws java.
    io.IOException {
    java.util.Vector v = new java.util.Vector(1000);
    try {
    java.io.BufferedReader br = new java.io.BufferedReader(new java.io.
    FileReader(sqlFile));
    java.util.Vector batchs = new java.util.Vector(10);
    String temp;
    while ( (temp = br.readLine()) != null) {
    temp = temp.trim();
    if (temp.length() == 0)
    continue;
    switch (temp.charAt(0)) {
    case '*':
    case '"':
    case '\'':
    // System.out.println(temp);
    break; //Ignore any line which begin with the above character
    case '#': //Used to begin a new sql statement
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    break;
    case 'S':
    case 's':
    case '?':
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    v.addElement(temp);
    break;
    default:
    batchs.addElement(temp);
    break;
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    br.close();
    br = null;
    catch (java.io.FileNotFoundException fnfe) {
    v.addElement(sqlFile); //sqlFile is a sql command, not a file Name
    Object[] statements = new Object[v.size()];
    for (int i = 0; i < v.size(); i++)
    statements[i] = v.elementAt(i);
    return statements;
    for (int i = 0; i < statements.length; i++) {
    if (statements[i] instanceof java.lang.String) {
    String temp = (java.lang.String) statements;
    switch (temp.charAt(0)) {
    case 'S':
    case 's':
    case '?':
    System.out.println(temp);
    rs = stmt.executeQuery(temp);
    ResultSetMetaData resultSetMetaData = rs.
    getMetaData();
    int iNumCols = resultSetMetaData.getColumnCount();
    for (int j = 1; j <= iNumCols; j++) {
    System.out.println(resultSetMetaData.getColumnLabel(j)
    + " " + resultSetMetaData.getColumnTypeName(j)
    + " " + resultSetMetaData.getColumnType(j)
    + " " + resultSetMetaData.getPrecision(j)
    + " " + resultSetMetaData.getScale(j)
    Object colval;
    long ncount = 0;
    while (rs.next()) {
    // System.out.print(rs.rowDeleted()+" ");
    ncount++;
    for (int j = 1; j <= iNumCols; j++) {
    colval = rs.getObject(j);
    System.out.print(colval + " ");
    System.out.println();
    rs.close(); //Let the CONCUR_UPDATABLE resultSet release its open files at once.
    rs = null;
    System.out.println(
    "The total row number of resultset: " + ncount);
    System.out.println();
    break;
    default:
    int updateCount = stmt.executeUpdate(temp);
    System.out.println(temp + " : " + updateCount);
    System.out.println();
    else if (statements[i] instanceof java.lang.Object[]) {
    int[] updateCounts;
    Object[] temp = (java.lang.Object[]) statements[i];
    try {
    for (int j = 0; j < temp.length; j++){
    System.out.println( temp[j]);
    stmt.addBatch( (java.lang.String) temp[j]);
    updateCounts = stmt.executeBatch();
    for (int j = 0; j < temp.length; j++)
    System.out.println((j+1)+":"+temp[j]);
    for (int j = 0; j < updateCounts.length; j++)
    System.out.println((j+1)+":" +updateCounts[j]);
    catch (java.sql.BatchUpdateException e) {
    updateCounts = e.getUpdateCounts();
    for (int j = 0; j < updateCounts.length; j++)
    System.out.println((j+1)+":"+updateCounts[j]);
    java.sql.SQLException sqle = e;
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" +
    sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    catch (java.sql.SQLException sqle) {
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" +
    sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    stmt.clearBatch();
    System.out.println();

  • Convert SQL script from one dialect to another.

    Hi all,
    I am trying to convert an SQL script in MySQL dialect to one for
    Firebird (Interbase Open Source fork).
    I will show you the original MySQL script, (one table of 70), what I want it to
    become and then the Java program that I have written which has gone some of
    the way - but I'm not very experienced in Java and I think my approach
    needs to be fundamentally overhauled, it's just that I don't know
    exactly how to go about it - maybe treat the table as a unit and pass my
    file table by table to a/some processing function(s)?
    Here is the original script
    CREATE TABLE `analysis` (
      `analysis_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
      `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
      `logic_name` varchar(128) NOT NULL,
      `db` varchar(120) DEFAULT NULL,
      `db_version` varchar(40) DEFAULT NULL,
      `db_file` varchar(120) DEFAULT NULL,
      `type` enum('constitutive_exon','exon','flanking_exon') DEFAULT NULL,
      `program` varchar(80) DEFAULT NULL,
      `program_version` varchar(40) DEFAULT NULL,
      `parameters` text,
      `gff_feature` varchar(40) DEFAULT NULL,
       PRIMARY KEY (`analysis_id`),
       UNIQUE KEY `logic_name_idx` (`logic_name`)
    ) ENGINE=MyISAM AUTO_INCREMENT=261 DEFAULT CHARSET=latin1;I want this to become
    CREATE TABLE analysis
    (  -- ( on a separate line - have done this. Note also - got rid of funny quotes `
      analysis_id smallint(5),  -- see below for what happens to auto_increment
      created TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', -- datetime now TIMESTAMP -- trivial
      logic_name varchar(128) NOT NULL,
      db varchar(120) DEFAULT NULL,
      db_version varchar(40) DEFAULT NULL,
      db_file varchar(120) DEFAULT NULL,
      type (CHECK TYPE IN ('constitutive_exon','exon','flanking_exon')) DEFAULT NULL,  -- emum becomes a CHECK constraint - parse the string in a function?
      program varchar(80) DEFAULT NULL,
      program_version varchar(40) DEFAULT NULL,
      parameters BLOB SUB_TYPE TEXT,  -- text becomes BLOB SUB_TYPE TEXT - trivial
      gff_feature varchar(40) DEFAULT NULL,
      -- PRIMARY KEY (analysis_id),  -- here's where the fun starts - see below.
      -- UNIQUE KEY logic_name_idx (logic_name) -- more fun here
    )  -- ) on new line
    -- ENGINE=MyISAM AUTO_INCREMENT=261 DEFAULT CHARSET=latin1; - this line gets obliterated - see below.
    -- only data of interest on this line is the AUTO_INCREMENT VALUE - 261
    ALTER TABLE ADD CONSTRAINT analysis_id_PK PRIMARY KEY(analysis_id) USING INDEX analysis_id_PK_IX
    ALTER SEQUENCE analysis_id_seq RESTART WITH 261 -- note auto_increment=261 at end
    -- note, take field name of AutoIncrement - add PK and PK_IX
    -- as required. I will also have to write something similar for the UNIQUE KEY - but
    -- if I can do it for PRIMARY KEY, then it should be easy...I have written a program which has started to do some of the easier stuff
    below - however, I now think that I should be treating a TABLE as a unit rather
    than the line by line processing which I have been doing so far. I would
    like some pointers as to how I could do this - the .sql file has about 70
    tables and I want to be able to process the file in one pass. Any hints,
    recommendations, URLs, tips or other help greatly appreciated - rgs,
    Paul...
    ============= Java listing so far (I have been trying 8-) ) ===========
    import java.io.*;
    import java.util.*;
    class FileProcess
      public static void main(String args[])
        try
          // Open the file that is the first
          // command line parameter
          FileInputStream fistream = new FileInputStream("analysis.sql");
          FileWriter fwstream = new FileWriter("nanalysis.sql");
          // Get the object of DataInputStream
          DataInputStream in = new DataInputStream(fistream);
          BufferedReader br = new BufferedReader(new InputStreamReader(in));
          BufferedWriter out = new BufferedWriter(fwstream);
          String strLine;
          String newLine = System.getProperty("line.separator");
          String newSQLText = "";
          String tblName = "";
          String recordDelims = "[ ]";
          Boolean inTable = false;
          String tableBegin = "(" + newLine;
          System.out.println("\nAnd tableBegin is *_" + tableBegin + "_*");
          //Read File Line By Line
          while ((strLine = br.readLine()) != null)      
            // if strLine.contains(
            // Print the content on the console
            System.out.println ("StrLine = " + strLine);
            newSQLText = getRidOfWierdQuotes(strLine);
            if(strLine.contains("CREATE TABLE"))
              StringTokenizer st = new StringTokenizer(newSQLText, "` ");
              st.nextToken();
              st.nextToken();
              tblName = st.nextToken();
              System.out.println("\nAnd the table name is *_" + tblName + "_*");
            if(strLine.contains(" (") && strLine.contains("CREATE TABLE"))
              System.out.println("\nAnd here's the start of a table!");
              newSQLText = newSQLText.replace(" (", newLine + "(");
             // br.readLine();
              //br.readLine();
            if(strLine.contains(" text,") || strLine.contains(" text "))
              newSQLText = newSQLText.replace(" text", " BLOB SUB_TYPE TEXT");
    //        String sqlTokens[] = newSQLText.split("\\s+");
    //       StringTokenizer stRecord = new StringTokenizer(newSQLText)
            System.out.println("\nNew strLine = " + newSQLText);
            out.write(newSQLText + "\n");
          //Close the input stream
          in.close();
          out.close();
        catch (Exception e)
          //Catch exception if any
          System.err.println("Error: " + e.getMessage());
      public static String getRidOfWierdQuotes(String iString)
        return iString.replace("`", "");
    } // End of class FileProcess

    >
    Your technique looks OK but I would avoid all the cosmetic changes. It doesn't make any
    difference to the script where the newline comes, and the back-quotes are legal SQL too.
    I would confine your activities to what is actually required. Otherwise you are just adding
    implementation difficulties and also running the risk of an ever-expanding scope of what
    the cosmetic improvements should include.Thanks for your reply - however, I would just make two points.
    1) The cosmetic changes are the easiest - and I've essentially implemented them already, and
    for myself, I find that when working on a system with many tables, the way they are presented
    by whatever tool one is using to modify/update/change/run various scripts is very important as
    an aid to organisation and ultimately understanding.
    2) Having essentially completed the cosmetic stuff, I now find myself turning to the group here
    for help with the real "meat" of the project - getting the PRIMARY KEYs and other INDEXES
    &c. into the mix - and this is tricky because of the significant differences between MySQL and
    Firebird SQL dialects - that and the fact that not all AUTO_INCREMENT fields are PRIMARY
    KEYs - so I am looking beyond the mere cosmetic.
    I think I said in my original post that I wanted to perform this task in "one pass". Perhaps what
    I should have said (and might have been clearer) is if I said that I just wanted to run one
    Java programme against the data.
    I now think that my Java programme will have to go through the data a couple of times - on
    the first pass - it will collect the names of those tables for which the AUTO_INCREMENT
    field is* the PRIMARY KEY - putting the name into a Vector (deprecated?) or similar
    and then go through my "cleaned up" sql file adding the KEYs/INDEXes &c. as I go.
    What do you think of this approach - or should I be looking at constructing "Table"
    objects (as arrays of String?) and manipulating those?
    This is my real question - what is the best approach to take - as a 36K guru level
    poster - you probably have an idea - I'm not asking for the work to be done for me,
    as you can see - I've made an effort myself, despite my Java not being to the highest
    pinnacle of coding perfection ;) - any snippets, help, anything appreciated (from
    anybody...) - TIA and rgs,
    Paul...

  • IF statement syntax in SQL script view

    I need to include a "IF" condition in the "SELECT" section of my SQL script view.
    I tried the following syntax's but I get the error 'Incorrect SQL syntax near 'IF'
    1.  IF(Revenue <> '0' AND Quantity <> '0', Revenue/Quantity, '0') AS Gross Price
    2.  IF(Revenue != '0' AND Quantity != '0', Revenue/Quantity, '0') AS Gross Price
    3.  IF(Revenue <> '0' AND Quantity <> '0' THEN Revenue/Quantity ELSE  '0' END) AS Gross Price
    4.  IF(Revenue != '0' AND Quantity != '0' THEN Revenue/Quantity ELSE  '0' END) AS Gross Price
    My final SQL would read like follows:
    SELECT field1, field2, IF(......) AS field3
    FROM table1
    Can anybody please help with the correct IF statement syntax to be used in the SQL script based view?

    Hi Lakshmi,
    below is the syntax for IF statement.
    IF <bool_expr1> THEN
    <then_stmts1>
    ELSEIF <bool_expr2>
    THEN <then_stmts2>
    [ELSE <else_stmts3>]
    END IF
    eg :
    BEGIN
    DECLARE found INT := 1;
    SELECT count(*) INTO found FROM books WHERE isbn = :v_isbn;
    IF :found = 0 THEN
    INSERT INTO books VALUES (:v_isbn, 'In-Memory Data Management', 1, 1, '2011', 42.75, 'EUR');
    ELSE
    UPDATE books SET price = 42.75 WHERE isbn =:v_isbn;
    END IF;
    END;
    Sreehari

  • IF Condition in a PL/SQL Script give a report error.

    Hello, I’m German and I hope you can unterstand my Question.
    First, I work with the HTML DB Version 1.6.0.0.0.87 and the Oracle Version 9.2.0.6.
    I create a SQL Report, where a PL/SQL Script return the SQL Statement for the Report. This is my source-code, I have short it...:
    Declare
    sql_str varchar(2000);
    sql_str_select varchar(1000) :=' select dim_sparte …... ';
    sql_str_from varchar(1000) := ' from faktentabelle,dim_sparte ';
    sql_str_where varchar(1000):= ' where … and faktentabelle.zeit_id = :POPUP_ZEIT ';
    sql_str_groupby varchar(1000):= ' group by dim_sparte.name, faktentabelle.zeit_id ';
    Begin
    If ( (V('POPUP_NETZGEBIET') is not NULL) and (V('POPUP_NETZGEBIET') <>
    'Alle Netzgebiete')) THEN
    sql_str_select := sql_str_select || ' ,dim_organisationseinheit.netzgebiet_name ';
    sql_str_from := sql_str_from || ' , dim_organisationseinheit ';
    sql_str_where := sql_str_where || ' and faktentabelle ... and
    dim_organisationseinheit.netzgebiet_name = :POPUP_NETZGEBIET';
    sql_str_groupby := sql_str_groupby || ' , dim_orga .... ';
    End IF;
    sql_str:= sql_str_select || sql_str_from || sql_str_where || sql_str_groupby;
    htp.print(sql_str);
    Return sql_str;
    End;
    This Script include a IF-THEN condition. The Condition is true and the sql-String-Variables are updatet.
    I can get the string with htp.print() and the Statement is OK.
    The report get a Error “report error: ORA-1403: no data found”. If I copy the printet sql String in a new Report Region with SQL String, the Report is OK. When I write IF(true) instead of IF( Condition) the Report is OK, too.
    I try ist with Varibalen V(‘name‘) and with :name. It’s always the same problem. I can’t use IF-THEN-Else Conditions in a Script.
    Please help me and say me what is the problem???
    Thanks,
    Simona

    Hi Simona,
    In the sql region below the region source see that you have " Use Generic Column Names (parse query at runtime only)" check and not " Use Query-Specific Column Names and Validate Query".
    This error you usually get when you have a mismatch in your report heading.
    Vivek
    [email protected]

  • Pl/sql script needed - Urgent

    Hi All,
    I have one problem. I have to populate a table having rows more than 500000000 $ through PL/SQL.
    For getting the idea...I have created one dummy table " T1 " with column " X " having 9 rows and
    values in source are -
    row 1 = 10
    row 5 = 20
    row 8 = 30
    Other rows(2, 3, 4, 6, 7, 9) are null.
    I want to carry fwd the values so the values in the same table will come like -
    row 1, 2, 3, 4 = 10
    row 5, 6 ,7 = 20
    row 8,9 = 30
    For resolving the problem i have written a procedure :
    DECLARE
    CURSOR cur_adb IS SELECT * FROM t1 ;
    var cur_adb%rowtype ;
    var1 number(10) ;
    BEGIN
    OPEN cur_adb ;
    LOOP
    FETCH cur_adb INTO var ;
    DBMS_OUTPUT.PUT_LINE ( 'x=') ;
    EXIT WHEN cur_adb%ROWCOUNT > 10 ;
    If var is not null
    then update t1
    set x = var ;
    var1 := VAR;
    else update t1
    set x = var1 ;
    exit;
    end if;
    END LOOP;
    CLOSE cur_adb ;
    END ;
    But it is giving me wrong result as it is fetching more rows at a time.
    Pls. send me the correct Pl/SQL script as soon as possible.
    Note: You can directaly send the procedure to [email protected] .
    Thanks & Regs,
    Ashish

    Hello,
    I got the solution by adding on more column in the source table :
    source table : T1 -> x x_id
    10 1
    2
    3
    4
    20 5
    6
    7
    30 8
    9
    The procedure is :
    SQL> DECLARE
    2 CURSOR cur_adb IS SELECT x, x_id FROM t1 ;
    3 var number(10) ;
    4 var1 number(10) ;
    5 var2 number(10) ;
    6 BEGIN
    7 OPEN cur_adb ;
    8 LOOP
    9 FETCH cur_adb INTO var , var2 ;
    10 If var is not null
    11 then var1 := VAR;
    12 elsif var is null
    13 then update t1
    14 set x = var1
    15 where x_id = var2;
    16 end if;
    17 DBMS_OUTPUT.PUT_LINE ('The value of x=' || var) ;
    18 Exit when cur_adb%ROWCOUNT > 9 or cur_adb%NOTFOUND ;
    19 END LOOP;
    20 CLOSE cur_adb ;
    21 END ;
    22 /
    The value of x=10
    The value of x=10
    The value of x=10
    The value of x=10
    The value of x=20
    The value of x=20
    The value of x=20
    The value of x=30
    The value of x=30
    The value of x=30
    PL/SQL procedure successfully completed.
    Thanks everyone for helping me........
    Regards,
    Ashish

  • Can't Upload SQL scripts or application scripts in APEX 3.1

    I have installed APEX 3.1 on an Oracle 10g database.
    I can log in to APEX, create applications, and run applications.
    One application I import is the sample OEHR application which imports correctly at the hosted site.
    However, when I try to upload an SQL script or import the sample application I get
    "Page not Found" for this page http://csora:7777/pls/apex/wwv_flow.accept
    I've included my dads.conf below and also some Apache error entries
    Alias /i/ "e:\oracle\product\10.1.0\Db\Apache\Apache\images/"
    AddType text/xml     xbl
    AddType text/x-component     htc
    <Location /pls/apex>
    Order deny,allow
    PlsqlDocumentPath docs
    AllowOverride None
    PlsqlDocumentProcedure      wwv_flow_file_mgr.process_download
    PlsqlDatabaseConnectString     csora:1521:ORCL ServiceNameFormat
    PlsqlNLSLanguage          AMERICAN_AMERICA.AL32UTF8
    PlsqlAuthenticationMode     Basic
    SetHandler          pls_handler
    PlsqlDocumentTablename     wwv_flow_file_object$
    PlsqlDatabaseUsername     APEX_PUBLIC_USER
    plsqlDefaultPage          apex     
    PlsqlDatabasePassword     hocking
    Allow from all
    </Location>
    I:[Mon Apr 14 15:52:35 2008] [error] [client 10.116.101.158] [ecid: 1208202755:198.30.4.195:2696:2864:2873,0] File does not exist: e:/oracle/product/10.1.0/db/apache/apache/htdocs/pls/htmldb/builder/topnav2.gif
    [Mon Apr 14 15:52:35 2008] [error] [client 10.116.101.158] [ecid: 1208202755:198.30.4.195:2696:2924:2771,0] File does not exist: e:/oracle/product/10.1.0/db/apache/apache/htdocs/pls/htmldb/builder/left_curve.gif
    [Mon Apr 14 15:52:35 2008] [error] [client 10.116.101.158] [ecid: 1208202755:198.30.4.195:2696:2944:2767,0] File does not exist: e:/oracle/product/10.1.0/db/apache/apache/htdocs/pls/htmldb/builder/left_curve.gif
    [Mon Apr 14 15:52:35 2008] [error] [client 10.116.101.158] [ecid: 1208202755:198.30.4.195:2696:2972:2750,0] File does not exist: e:/oracle/product/10.1.0/db/apache/apache/htdocs/pls/htmldb/builder/right_curve.gif
    [Mon Apr 14 15:52:35 2008] [error] [client 10.116.101.158] [ecid: 1208202755:198.30.4.195:2696:2940:2762,0] File does not exist: e:/oracle/product/10.1.0/db/apache/apache/htdocs/pls/htmldb/builder/right_curve.gif
    [Mon Apr 14 16:19:33 2008] [error] [client 10.116.101.158] [ecid: 1208204373:198.30.4.195:2696:2924:2773,0] File does not exist: e:/oracle/product/10.1.0/db/apache/apache/htdocs/pls/htmldb/builder/topnav2.gif
    [Mon Apr 14 16:21:48 2008] [error] [client 10.116.101.158] [ecid: 1208204507:198.30.4.195:2696:2948:2801,0] mod_plsql: /pls/apex/wwv_flow.accept HTTP-404 ORA-00942: table or view does not exist
    [Mon Apr 14 16:23:29 2008] [error] [client 10.116.101.158] [ecid: 1208204609:198.30.4.195:2696:2788:2760,0] mod_plsql: /pls/apex/wwv_flow.accept HTTP-404 ORA-00942: table or view does not exist
    [Mon Apr 14 16:23:29 2008] [error] [client 10.116.101.158] [ecid: 1208204609:198.30.4.195:2696:2788:2761,0] mod_wchandshake: incorrect uri: name="p_t04" passed in.
    [Mon Apr 14 16:23:29 2008] [error] [client 10.116.101.158] [ecid: 1208204609:198.30.4.195:2696:2788:2761,0] Invalid URI in request -data; name="p_t04"
    Am I missing some files or directories from the 3.1 install? Any help would be appreciated since I think I'm close to having APEX fully functional.

    Val,
    In this line:
    PlsqlDocumentTablename wwv_flow_file_object$
    ...that needs to be wwv_flow_file_objects$
    Scott

  • How to test a simple PL SQL function from another PL SQL script

    Hi,
    I have created a function. Now i need to test that whether it is returning the correct values or not.
    For that, i have written anothe pl sql script and trying to call this function. Im passing all the IN parameters in that function. I assume here that OUT parameters will provide me the result. Im trying to display the OUT parameter one by one to see my result.
    I'm using toad as sql client here connected with oracle.
    pl sql script:-
    DECLARE
    BEGIN
         DBMS_OUTPUT.PUT_LINE('$$$$$$$ VINOD KUMAR NAIR $$$$$$$');
         FETCH_ORDER_PRODUCT_DATA(320171302, 1006, 6999,
    ODNumber OUT VARCHAR2, Line_Number OUT VARCHAR2,
    ServiceID OUT VARCHAR2, BilltoNumber OUT VARCHAR2,
    AnnualPrice OUT NUMBER, CoverageCode OUT VARCHAR2)
    DBMS_OUTPUT.PUT_LINE('HERE IS THE RESULT ' | ODNumber );
    DBMS_OUTPUT.PUT_LINE('HERE IS THE RESULT ' | Line_Number );
    DBMS_OUTPUT.PUT_LINE('HERE IS THE RESULT ' | ServiceID );
    DBMS_OUTPUT.PUT_LINE('HERE IS THE RESULT ' | BilltoNumber );
    DBMS_OUTPUT.PUT_LINE('HERE IS THE RESULT ' | AnnualPrice );
    DBMS_OUTPUT.PUT_LINE('HERE IS THE RESULT ' | CoverageCode );
    END;
    Function:-
    Program Name : SPOT_Order_Product_Data_For_CFS.sql
    Description : Function to Validate parameters from CFS
    By : Vinod Kumar
    Date : 08/19/2011
    Modification History
    By When TAR Description
    CREATE OR REPLACE FUNCTION FETCH_ORDER_PRODUCT_DATA(orderNumber IN VARCHAR2, customerNumber IN VARCHAR2,
    productLine IN VARCHAR2, ODNumber OUT VARCHAR2,
    Line_Number OUT VARCHAR2, ServiceID OUT VARCHAR2,
    BilltoNumber OUT VARCHAR2, AnnualPrice OUT NUMBER,
    CoverageCode OUT VARCHAR2)
    RETURN VARCHAR2 IS
    lv_err_msg VARCHAR2(100) := '';
    lv_bucket_id VARCHAR2(14);
    lv_bill_number VARCHAR2(30);
    lv_anual_price NUMBER;
    lv_coverage_code VARCHAR2(8);
    lv_quote_num NUMBER(10) := NULL;
    lv_line_num NUMBER(5) := 0;
    lv_customer_number VARCHAR2(30) := customerNumber;
    lv_product_id VARCHAR2(14) := productLine;
    lv_count_quote NUMBER := 0;
    lv_quote_status VARCHAR2(5);
    lv_quote_version NUMBER(2):=0;
    BEGIN
    IF INSTR(orderNumber, '-') = 0 THEN
    lv_quote_num := orderNumber;
    ELSE
    lv_quote_num := SPT_Delimiter(orderNumber, 1, '-');
    lv_line_num := SPT_Delimiter(orderNumber, 2, '-');
    END IF;
    --Check status of the quote COM, APP
    SELECT COUNT(*) INTO lv_count_quote FROM sot_order_header WHERE ORDER_NUMBER=lv_quote_num
    AND ORDER_STATUS IN ('APP', 'COM') AND CUSTOMER_NUMBER = lv_customer_number;
    IF lv_count_quote = 0 THEN
    lv_err_msg := 'Invalid Order number';
    RETURN lv_err_msg;
    END IF;
    -- Fetch the latest version on SPOT quote
    SELECT MAX(VERSION_NUMBER) INTO lv_quote_version FROM SPT_QUOTE_HEADER WHERE QUOTE_NUMBER = lv_quote_num
    AND CUSTOMER_NUMBER = lv_customer_number;
    -- If quote is valid fetch the data in OUT parameters
    IF lv_line_num = 0 THEN
    BEGIN
    SELECT a.CUSTOMER_BILLTO_NUMBER,
    b.LINE_NUMBER, b.BUCKET_ID,
    b.ANNUAL_REF_RATE_USD, b.COVERAGE_CODE
    INTO lv_bill_number,lv_line_num,lv_bucket_id,lv_anual_price,lv_coverage_code
    FROM SPT_QUOTE_HEADER a, SPT_QUOTE_LINE b
    WHERE a.QUOTE_NUMBER = lv_quote_num
    AND a.CUSTOMER_NUMBER = lv_customer_number
    AND a.VERSION_NUMBER = lv_quote_version
    AND a.QUOTE_NUMBER = b.QUOTE_NUMBER
    AND a.VERSION_NUMBER = b.VERSION_NUMBER
    AND b.PRODUCT_ID = lv_product_id;
    ODNumber := lv_quote_num;
    BilltoNumber := lv_bill_number;
    Line_Number := lv_line_num;
    ServiceID := lv_bucket_id;
    AnnualPrice := lv_anual_price;
    CoverageCode := lv_coverage_code;
    RETURN '';
    EXCEPTION WHEN OTHERS THEN
    lv_err_msg := 'Multiple PIDs existing in the SPOT order, please provide the SPOT order + line number as input data';
    RETURN lv_err_msg;
    END;
    ELSE
    BEGIN
    SELECT a.CUSTOMER_BILLTO_NUMBER,
    b.BUCKET_ID, b.ANNUAL_REF_RATE_USD,
    b.COVERAGE_CODE
    INTO lv_bill_number,lv_bucket_id,lv_anual_price,lv_coverage_code
    FROM SPT_QUOTE_HEADER a, SPT_QUOTE_LINE b
    WHERE a.QUOTE_NUMBER = lv_quote_num
    AND a.CUSTOMER_NUMBER = lv_customer_number
    AND a.VERSION_NUMBER = lv_quote_version
    AND a.QUOTE_NUMBER = b.QUOTE_NUMBER
    AND a.VERSION_NUMBER = b.VERSION_NUMBER
    AND b.PRODUCT_ID = lv_product_id
    AND b.LINE_NUMBER = lv_line_num;
    ODNumber := lv_quote_num;
    BilltoNumber := lv_bill_number;
    Line_Number := lv_line_num;
    ServiceID := lv_bucket_id;
    AnnualPrice := lv_anual_price;
    CoverageCode := lv_coverage_code;
    RETURN '';
    EXCEPTION WHEN OTHERS THEN
              lv_err_msg := 'Multiple SPOT lines exist with same parameter';
              RETURN lv_err_msg;
    END;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    lv_err_msg := '@@@ EXCEPTION THROWN @@@ '|| SUBSTR(SQLERRM,1,120);
    RETURN lv_err_msg ;
    END;
    Don't look at the function, it might have errors but my primary concern is how to test this function. Once I start doing its testing then only i can understand any bugs(if any).
    My pl sql is not so good. Im still learning. I don't understand IN and OUT parameters are.
    I just know that IN parameters r those whick we pass in to the function wen we call it and OUT parameters are those through which we get the result.
    Thanks in advance
    Vinod Kumar Nair

    20100511 wrote:
    I wondered how I could test the output of the function from within TOAD?I usually create the following function in my developer schema:
    create or replace function BoolToChar( b boolean ) return varchar2 is
    begin
      if b then
        return( 'TRUE' );
      else
        return( 'FALSE' );
      end if;
    end;To test a function like yours, the following will do in SQL*Plus/TOAD/etc:
    begin
      DBMS_OUTPUT.put_line(
        BoolToChar( XCCC_PO_APPROVALLIST_S1.does_cpa_exist(1017934)  )
    end;
    I'm probably doing 101 things wrong here, but thought I'd ask anyway and risk being shouted at.Shout at? You reckon? I thought people risked being beaten with a lead pipe, or pelted with beer cans and stale pretzels - which makes being shouted at a really safe and viable alternative. {noformat};-){noformat}

  • How can I convert a mysql sql script to a oracle sql script

    Hi,
    We have a bunch of tables with data running on a mysql server.
    This should now be moved to an oracle 9 db.
    are there any tools to convert the import script of a mysql db
    to a format of the sql script that work for oracle ?
    Thanks
    Michael

    Oracle has a tool called Migration Toolbench, which supports MySQL 3.22 and 3.23:
    http://otn.oracle.com/tech/migration/workbench/content.html
    On this same topic, I was wondering if anybody has tried migrating from PostgreSQL to Oracle 9i. The workbench doesn't seem to support it, and feeding a pg_dump file directly into SQL*Plus is not working.

Maybe you are looking for