HSODBC and ORA-01002

Hi, guys!
Why in this PL/SQL code "COMMIT;" comand causes an error ORA-01002 ?
I use Microsift ODBC driver for Visual FoxPro.
DECLARE
TYPE EmpCurTyp IS REF CURSOR ;
emp_cv EmpCurTyp;
emp_new EmpCurTyp;
tab_name VARCHAR2(30);
D2 varchar(3);
BEGIN
OPEN emp_cv FOR 'select table_name T_N from [email protected]' ;
LOOP
FETCH emp_cv INTO tab_name;
EXIT WHEN emp_cv%NOTFOUND;
OPEN emp_new FOR 'select "ko" D2 from '| |tab_name| |'@ho.world ' ;
LOOP
FETCH emp_new INTO D2;
commit; -- << causes an error ORA-01002 fetch out of sequence
EXIT WHEN emp_new%NOTFOUND;
END LOOP;
ClOSE emp_new;
END LOOP;
CLOSE emp_cv;
END;
Thanks.
null

Thanks for the suggestion
There are no "char(32767)"s in the package - altho there are "varchar2(32767)"s
I have tried a variotion on the script, outputting the result to a new table instead of updating the enrolment - which ran fine so the error is in the update.
I tried adding a step using the result in the temp table to update the enrolment table - and got my errors again. So there is something funny in my data. Nothing obvious shows.
The full temp table contains 745292 records - when it failed 150 records had been written.
I note that although I had expected only to find one record per enrolment, there are some where there are two (@#$%!! source system writing two "insert" audit records) - could my problem be that I am updating a record previously updated - where do I set the script to commit as it goes?
Sandra

Similar Messages

  • Help - I'm getting errors ORA-06502:and ORA-01002: at runtime

    Help
    I am getting the following errors at runtime and need some isdeas on what to check:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at "OWB_RUNTIME.WB_RT_MAPAUDIT", line 1736
    ORA-06512: at "OWB_RUNTIME.WB_RT_MAPAUDIT", line 2625
    ORA-06512: at "OWB_TARGET.MAP_BSL_PLACEMENT_FACT2B", line 1148
    ORA-01002: fetch out of sequence
    ORA-02063: preceding line from BASIL@LOC_TARGET_NEW_LOC_BASIL_SOURC
    ORA-06512: at "OWB_TARGET.MAP_BSL_PLACEMENT_FACT2B", line 1457
    ORA-06512: at "OWB_TARGET.MAP_BSL_PLACEMENT_FACT2B", line 3458
    ORA-06512: at line 1
    My Mapping is a fact recording enrolments in courses (located in my main target database - oracle 9i)
    joining with an equi-join to a table that contains an audit of all changes to the enrolment (in my source database - Sybase 12.5)
    then updating two fields in a tabke that is a second definition of the first fact
    The equi join uses the key to the enrolment table, plus a transaction type to identify only the creation of the record
    Between the join and the update of the table one field is going thru a trim (converting char to varchar2) then an expression that sets the value to "not_supplied" for cases where the value was null.
    The other field is a date (from sybase datetime to oracle Date)
    (they are the user that created the enrolment and the date the enrolment was actioned)
    I created this mapping by copying another mapping that does pretty much the same thing, deleting the join and table it was joining to and adding the audit table and new join.
    Both mapping deploy fine with no warnings, the original executes fine the variation gives the errors above.
    I have tried removing one then the other of the columns I am updating. (the same errors occur)
    I am about to re-write the mapping from scratch, but can anyone guess what is wrong with it ? (I'm using OWB 9.2.0.2.8)

    Thanks for the suggestion
    There are no "char(32767)"s in the package - altho there are "varchar2(32767)"s
    I have tried a variotion on the script, outputting the result to a new table instead of updating the enrolment - which ran fine so the error is in the update.
    I tried adding a step using the result in the temp table to update the enrolment table - and got my errors again. So there is something funny in my data. Nothing obvious shows.
    The full temp table contains 745292 records - when it failed 150 records had been written.
    I note that although I had expected only to find one record per enrolment, there are some where there are two (@#$%!! source system writing two "insert" audit records) - could my problem be that I am updating a record previously updated - where do I set the script to commit as it goes?
    Sandra

  • Warning ORA-01002, ORA-06502 AND ORA-12899

    Hi All,
    When iam executing my mapping iam facing the following warninigs.
    Name      Status      Log
    MAP_     Warning     CursorFetchMapTerminationRTV20007
    MAP_     Warning     ORA-01002: fetch out of sequence
    ORA-02063: preceding line from link
    MAP_Warning     ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    MAP_Warning     ORA-12899: value too large for column %s (actual: %s, maximum: %s)
    ORA-02063: preceding line from link
    Further to inform you that, in source and target the data type size is same.
    How can i resolve it
    Thanks in advance.

    I mean to say select while executing it from Database you can pin-point the exact line which cause error.
    cheers
    Nawneet

  • Bug and Fix: Report Template Preview displays ORA-01002

    Hi, omniscient All!
    Let me share some knowledge with you. There is an old APEX bug:
    BUG: preview report template errors with ORA-01002
    Report Template Preview/Copy Error
    Template Preview Error:
    You can definitely see it in 4.0, 4.1, 4.2, 4.2.1 versions: open any database application in AppBuilder, go to Shared Components→Templates, move cursor on Some Report Template row, click Preview Icon. Voilà:
    report error:
    ORA-01002: fetch out of sequenceI looked into Template Preview region's source and have found next WWV_RENDER_REPORT3.show call:
    wwv_render_report3.show(
        p_query => '
    select 1 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 2 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 3 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 4 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 5 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 6 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual
    order by 1',
        p_row_template_id => :f4000_p245_id,
        p_region_id => 88449328191587806
      );I have no wish to go deep into my further investigation, therefore I just call a cause: APEX Team, you forgot to set the value of P_PLUG_SOURCE_TYPE parameter.
    Workaround: While APEX Team will making a patch, those who can't wait it should fix it manually by executing next code:
    update &APEX_SCHEMA.wwv_flow_page_plugs
       set plug_source = q'{wwv_render_report3.show(
        p_query => '
    select 1 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 2 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 3 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 4 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 5 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual union
    select 6 COL1, ''[...]'' COL2, ''[...]'' COL3, sysdate COL4 from dual
    order by 1',
        p_row_template_id => :f4000_p245_id,
        p_region_id => 88449328191587806,
        p_plug_source_type => 'SQL_QUERY'
    where id = 14562627207747006
    /APEX_SCHEMA is schema where APEX was installed.
    Good luck,
    Alex
    Edited by: tiPPLer on 14.02.2013 17:14

    I wouldn't mind piggy-backing this to ask if the Report Template "shortcut" links at the top of the page can be updated to account for all sections that are now a part of the Report Template. "Before Each Row" and "After Each Row" sections are not listed in the shortcuts. There are also two shortcuts listed as "Before" and "After" which should probably be relabeled.
    Shane.

  • ORA-01002-Error in Select ... for update

    I would like to insert CLOB in a table (VP_EVENTS) with a primary key (eventid) with the following code:
    String content = "AAAAAAAAAAAAABBBBBBBBBBXXX";
    PreparedStatement cs = this.con.prepareStatement("INSERT INTO vp_events (eventid,term,participant)
    VALUES (?,?,empty_clob())");
    //Register IN-Parameter
    cs.setInt(1, 1);
    cs.setInt(2, 1);
    cs.setTimestamp(3, new java.sql.Timestamp( System.currentTimeMillis() ));
    //Execute statement
    cs.execute();
    cs.close();
    Statement stmt = con.createStatement();
    ResultSet clobLocatorSet = stmt.executeQuery( "SELECT PARTICIPANT FROM VP_EVENTS WHERE EVENTID=1 FOR UPDATE");
    // Get the CLOB-locator
    if (clobLocatorSet.next())
    oracle.sql.CLOB clob =
    ((oracle.jdbc.driver.OracleResultSet)
    clobLocatorSet).getCLOB(1);
    // Write CLOB-Data
    // The first parameter to plsql_write, is // the offset from which to start
    // writing, and the second parameter is the // data to be written.
    // plsql_length(), returns the length of // the data in the CLOB column
    countCLOB = clob.plsql_write(
    0,content.toCharArray());
    At the execution-point of the "Select for Update"-statement the oracle thin driver throws the Error "Fetch out of sequence ORA-01002".
    What's wrong?

    Connection conn = DriverManager.getConnection ("jdbc racle:thin:@myhost:1521:ORCL","scott", "tiger");
    conn.setAutoCommit(false);
    Statement stmt = conn.createStatement ();
    null

  • ERROR (ORA-01002)  when Ioading a table by UPDATE/INSERT

    I get the error message ORA-01002 ( Fetch out of sequence ) when I am loading a table by UPDATE/INSERT.
    At de Runtime Audit Viewer the process of loading update a number of register, in that case 44.050 and to the left register I get the error message that I show above.

    Can you please give us some details about your source and targets. I have used UPDATE/INSERT but I did not get this kind of error.
    rgds
    -AP

  • Why does this snippet produce ORA-01002 in 10g, but works fine in 9i.

    While migrating from 9i to 10g, we found that one of our processes failed with ORA-01002: fetch out of sequence. Debugging produced the following example:
    DECLARE
    CURSOR A IS SELECT Dummy FROM Dual FOR UPDATE;
    BEGIN
    FOR B IN A LOOP COMMIT;  END LOOP;
    END;This code works in 9i, but produces an EXCEPTION in 10g:
    SQL> SELECT Banner FROM V$Version;
    BANNER
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
    PL/SQL Release 9.2.0.8.0 - Production
    CORE    9.2.0.8.0       Production
    TNS for Linux: Version 9.2.0.8.0 - Production
    NLSRTL Version 9.2.0.8.0 - Production
    SQL> DECLARE
      2   CURSOR A IS SELECT Dummy FROM Dual FOR UPDATE;
      3  BEGIN
      4   FOR B IN A LOOP COMMIT;  END LOOP;
      5  END;
      6  /
    PL/SQL procedure successfully completed.
    SQL> SELECT Banner FROM V$Version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
    PL/SQL Release 10.2.0.4.0 - Production
    CORE    10.2.0.4.0      Production
    TNS for Linux: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    SQL> DECLARE
      2   CURSOR A IS SELECT Dummy FROM Dual FOR UPDATE;
      3  BEGIN
      4   FOR B IN A LOOP COMMIT;  END LOOP;
      5  END;
      6  /
    DECLARE
    ERROR at line 1:
    ORA-01002: fetch out of sequence
    ORA-06512: at line 4The documentation on the error explains this case in both 9i and more explicitly 10g. Should this have produced the EXCEPTION in 9i as well? Or, is there something else about 10g?

    e.g. a FOR row IN cursor LOOP is now implicit using a bulk fetch operation (100 rows or so).This was also my first guess, but said optimization does not take place when the cursor is defined FOR UPDATE:
    SQL> exec dbms_application_info.set_client_info(0)
    PL/SQL procedure successfully completed.
    SQL> declare
    cursor a is select last_name, set_client_info(rownum) from employees;
    begin
    for b in a loop
        exit; 
    end loop;
    end;
    PL/SQL procedure successfully completed.
    SQL> select sys_context('userenv','client_info') from dual
    SYS_CONTEXT('USERENV','CLIENT_INFO')                                           
    100                                                                            
    1 row selected.
    Now with FOR UPDATE:
    SQL> exec dbms_application_info.set_client_info(0)
    PL/SQL procedure successfully completed.
    SQL> declare
    cursor a is select last_name, set_client_info(rownum) from employees for update;
    begin
    for b in a loop
        exit; 
    end loop;
    end;
    PL/SQL procedure successfully completed.
    SQL> select sys_context('userenv','client_info') from dual
    SYS_CONTEXT('USERENV','CLIENT_INFO')                                           
    1                                                                              
    1 row selected.

  • Oracle Report raises ORA-01002 Fetch out of sequence

    ORA-01002 Fetch out of sequence in runtime execution of
    oracle report 3.0 and 2.5 in client/server environment.
    The same sql query works in sqlplus without any problem.
    If I change the criteria (where clause) the error sometime
    disappear. I can't explain this weird behaviour.
    Oracle server version is 7.1.5 on Digital VMS.
    Any Help will be welcome.
    null

    ORA-01002 Fetch out of sequence in runtime execution of
    oracle report 3.0 and 2.5 in client/server environment.
    The same sql query works in sqlplus without any problem.
    If I change the criteria (where clause) the error sometime
    disappear. I can't explain this weird behaviour.
    Oracle server version is 7.1.5 on Digital VMS.
    Any Help will be welcome.
    null

  • Error ORA-01002: fetch out of sequence

    Hi all,
    I created 3 cursors. The scenario is like following :
    Begin Cur A
    Begin FOR xx IN Cur B LOOP
    Begin FOR xx IN Cur C LOOP
    End LOOP Cur C;
    commit;
    End LOOP Cur B;
    End Cur A;
    When i run the program its display error ORA-01002: fetch out of sequence.
    The objective of my program is to insert into table and commit every transaction.
    Kindly share info with me why this error happened.
    TQ.
    tim

    Tim,
    Refer to the following:
    ORA-01002: fetch out of sequence
    Cause: This error means that a fetch has been attempted from a cursor which is no longer valid.
    Note that a PL/SQL cursor loop implicitly does fetches, and thus may also cause this error. There are a number of possible causes for this error, including:
    1) Fetching from a cursor after the last row has been retrieved and the ORA-1403 error returned.
    2) If the cursor has been opened with the FOR UPDATE clause, fetching after a COMMIT has been issued will return the error.
    3) Rebinding any placeholders in the SQL statement, then issuing a fetch before reexecuting the statement.
    Action:
    1) Do not issue a fetch statement after the last row has been retrieved - there are no more rows to fetch.
    2) Do not issue a COMMIT inside a fetch loop for a cursor that has been opened FOR UPDATE.
    3) Reexecute the statement after rebinding, then attempt to fetch again.
    HTH,
    Thierry
    Edited by: Thierry H. on May 4, 2011 12:30 PM Reformatting

  • Java.sql.SQLException: ORA-01002: fetch out of sequence

    We are getting 'Fetch out of sequence' error whrn we try to execute a 'for update' query.
    We are first inserting values into the DLX_ASSET table and if there is image to be inserted the particualr row is fetched using the query. The insert query inserts values into the database.
    'SELECT HIGH_RES_IMAGE FROM DLX_ASSET WHERE ASSET_ID ="+assetId+ " FOR UPDATE'. While executing this query we are getting this exception. This is not happening when we are trying it from our local machine. But its happening everywhere else where its deployed.
    We are using Websphere Application Server 6 and Oracle 9i. We have set autommit to false before the method is called and are commiting the transaction only after the whole set of queries are executed.
    Please see below the code snippet,
                                  /* UPDATE HIGH RESOLUTION IMAGE INTO DLX_ASSET TABLE */
                                  logger.logInfo("inside IF condition ,,,,,,,,,,,"+assetId);
                                  String query ="SELECT HIGH_RES_IMAGE FROM DLX_ASSET WHERE ASSET_ID ="+assetId+ " FOR UPDATE ";
                                  logger.logInfo("QUERY is...."+query);
                                  logger.logInfo("Connection closed:"+ con.isClosed());
                                  psHighResObj =(OraclePreparedStatement) con.prepareStatement(query);
                                  logger.logInfo("inside updating high res AFTER prepare statement"+psHighResObj);
                                  rsHighRes = (OracleResultSet) psHighResObj.executeQuery();                              logger.logInfo("inside updating high res image 1");
                                  while (rsHighRes.next()) {
                                       logger.logInfo("inside while high res image 2");
                                       highResImg =(OrdImage)rsHighRes.getCustomDatum(1,OrdImage.getFactory());
                                       highResImg.loadDataFromInputStream(assetCustomTo.getHighResolutionImageIn());
                                       assetCustomTo.getHighResolutionImageIn().close();
                                       logger.logInfo("before update high res");
                                       UPDATE_QRY = "UPDATE DLX_ASSET SET HIGH_RES_IMAGE = ? WHERE ASSET_ID=" + assetId;
                                       stmt1 =(OraclePreparedStatement) con.prepareCall(UPDATE_QRY);
                                       highResImg.setSource(assetCustomTo.getHighresFileType(),"",assetCustomTo.getSys_file_name1());
                                       highResImg.setContentLength(Integer.parseInt(assetCustomTo.getHighresFileSize()));
                                       highResImg.setProperties();
                                       logger.logInfo(" after update query asset id: " + assetId);
                                       logger.logInfo(" query high res:: " + UPDATE_QRY);
                                       stmt1.setCustomDatum(1, highResImg);
                                       stmt1.execute();
                                       logger.logInfo("after update high res");
                                  //checking if thumbnail is present: if bulk upload thumb nail won't be present
    the exception is occuring in the line 'rsHighRes = (OracleResultSet) psHighResObj.executeQuery();'
    This is exception trace
    java.sql.SQLException: ORA-01002: fetch out of sequence
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java(Inlined Compiled Code))
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java(Compiled Code))
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java(Compiled Code))
    at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:1198)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2400)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)
    at com.deluxe.imax.dataaccess.impl.extended.TelevisionAssetCustomDAOImpl.createWebElectronicTrailersAsset(Unknown Source)
    at com.deluxe.imax.business.television.ejb.TelevisionFacadeJBean.createWebElectronicTrailersAsset(Unknown Source)
    at com.deluxe.imax.business.television.handler.TelevisionHandler.createWebElectronicTrailersAsset(Unknown Source)
    at com.deluxe.imax.business.television.action.WebNewAction.processExecute(Unknown Source)
    at com.deluxe.imax.business.framework.BaseAction.execute(Unknown Source)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1284)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1241)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:136)
    at com.deluxe.imax.business.framework.security.SecurityFilter.doFilter(Unknown Source)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:671)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3003)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:221)
    at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:88)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.ja
    Please share your feedback.
    Thanks in advance!
    Edited by: Sanu Sasidharan on May 11, 2011 4:26 AM

    Hi Peter,
    We tried pointing to the same database from local as well as QA. Works from local but not from QA.
    assetId is the generated primary key in the same method.
    Yes the exception is thrown from execute statement itself. the logger put just after the execute is not coming.
    This is the method
    public boolean createWebElectronicTrailersAsset(TelevisionResultDTO[] teleResultDTO, OracleConnection con) throws DAOException {
              methodName ="createWebElectronicTrailersAsset(TelevisionResultDTO[] teleResultDTO,OracleConnection con) :: ";
              //Value to be returned by method
              boolean createInd = false;
              OraclePreparedStatement psHighResObj = null;
              OraclePreparedStatement psThumbnailObj = null;
              OracleResultSet rsHighRes = null;
              OracleResultSet rsThumbnail = null;
              PreparedStatement psmt = null;
              OraclePreparedStatement stmt1 = null;
              OraclePreparedStatement stmt2 = null;
              OrdImage highResImg = null;
              OrdImage thumbnailImg = null;
              ImaxGroupsTO groupsTO = null;
              try {
                   long tvAssetId = 0;
                   long assetId = 0;
                   long cst_dwnld_asset_id = 0;
                   AssetCustomTO assetCustomTo = null;
                   AssetCustomDownloadTO assetCustDwnldTO = null;
                   CustomTVAssetTO tvAssetTo = null;
                   String DLX_ASSET_QRY = "";
                   String UPDATE_QRY = "";
                   String DLX_ASSET_TV_QRY = "";
                   String DLX_CUSTOM_DOWNLOAD_ASSET = "";
                   int k = 1;
                   for (int iCount = 0; iCount < teleResultDTO.length; iCount++) {
                        tvAssetId = (int) OraclePKGenerator.getInstance().getKey(InternalConstants.TV_ASSET_SEQUENCE);
                        assetId =(long) OraclePKGenerator.getInstance().getKey(InternalConstants.ASSET_SEQUENCE);
                        assetCustomTo = teleResultDTO[iCount].getAssetCustomTO();
                        tvAssetTo = teleResultDTO[iCount].getTv_Asset();
                        groupsTO= teleResultDTO[iCount].getGroupsTO();
                        if (assetCustomTo.getHighResolutionImageIn() != null) {
                             DLX_ASSET_QRY ="INSERT INTO DLX_ASSET("
                                                      + "ASSET_ID,"
                                                      + "CREATED_BY,"
                                                      + "CREATED_DATE,"
                                                      + "REVISED_BY,"
                                                      + "REVISED_DATE,"
                                                      + "FILE_NAME,"
                                                      + "FILE_SIZE,"
                                                      + "FILE_TYPE,"
                                                      + "SYS_FILE_NAME,"
                                                      + "HIGH_RES_IMAGE,"
                                                      + "THUMBNAIL_IMAGE,"
                                                      + "ASSET_STATUS_ID,"
                                                      + "DMX_PART1_REF,"
                                                      + "DMX_PRODUCT_ID_REF,"
                                                      + "DMX_PRODUCT_DESC_REF,"
                                                      + "ASSET_AVAIL_1_IND,"
                                                      + "DMX_PART_2,"
                                                      + "DMX_PRODUCT_2,"
                                                      + "DMX_PRODUCT_DESC_2,"
                                                      + "ASSET_AVAIL_2_IND,"
                                                      + "EFFECTIVE_DATE,"
                                                      + "EXPIRATION_DATE,"
                                                      + "FILE_NAME1,"
                                                      + "SYS_FILE_NAME1,"
                                                      + "ASSET_TYPE_ID,"
                                                      + "MATERIALS_CATEGORY,"
                                                      + "PART_1_NOTES,"
                                                      + "PART_2_NOTES,"
                                                      + "PHY_ORDER_STATUS)"
                                                      + "VALUES (?,?,SYSDATE,?,SYSDATE,?,?,?,?,ORDSYS.ORDImage.init(),"
                                                      +" ORDSYS.ORDImage.init(),?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
                        }else if(){
    // condition if images are not uploaded
                             psmt = con.prepareStatement(DLX_ASSET_QRY);
                             k=1;
                             psmt.setLong(k++, assetId);
                             psmt.setString(k++, assetCustomTo.getCreated_by());
                             psmt.setString(k++, assetCustomTo.getRevised_by());
                             if(assetCustomTo.getAssetTextIn()!=null ){
                                  psmt.setString(k++, assetCustomTo.getFile_name());
                                  psmt.setString(k++, assetCustomTo.getFile_size());
                                  psmt.setString(k++, assetCustomTo.getFile_type());
                                  psmt.setString(k++, assetCustomTo.getSys_file_name());
                                  /* UPLOAD PREVIEW VIDEO FILE INTO FILE SYSTEM .....*/
                                  Util.upLoadFile(assetCustomTo.getAssetTextIn(),assetCustomTo.getSys_file_name());     
                             }else if(assetCustomTo.getAssetTextIn()==null && assetCustomTo.getSys_file_name() != null
                                            && assetCustomTo.getSys_file_name().trim().length() != 0){
                                       psmt.setString(k++, assetCustomTo.getFile_name());
                                       psmt.setString(k++, assetCustomTo.getFile_size());
                                       psmt.setString(k++, assetCustomTo.getFile_type());
                                       psmt.setString(k++, assetCustomTo.getSys_file_name());
                             } else{
                                  psmt.setNull(k++,Types.VARCHAR);
                                  psmt.setNull(k++,Types.VARCHAR);
                                  psmt.setNull(k++,Types.VARCHAR);
                                  psmt.setNull(k++,Types.VARCHAR);
                             psmt.setLong(k++, assetCustomTo.getAsset_status_id());
                             if(assetCustomTo.getDmx_product_desc_1()!=null && assetCustomTo.getDmx_product_desc_1().trim().length()!=0){
                                  psmt.setLong(k++, assetCustomTo.getDmx_part_1());
                                  psmt.setLong(k++, assetCustomTo.getDmx_productId_1());
                                  psmt.setString(k++, assetCustomTo.getDmx_product_desc_1());
                                  psmt.setString(k++, assetCustomTo.getAsset_order_status_1());                    
                             }else{
                                  psmt.setNull(k++,Types.INTEGER);
                                  psmt.setNull(k++,Types.INTEGER);
                                  psmt.setNull(k++,Types.VARCHAR);
                                  psmt.setNull(k++,Types.VARCHAR);
                             if(assetCustomTo.getDmx_product_desc_2()!=null && assetCustomTo.getDmx_product_desc_2().trim().length()!=0){
                                  psmt.setLong(k++, assetCustomTo.getDmx_part_2());
                                  psmt.setLong(k++, assetCustomTo.getDmx_productId_2());
                                  psmt.setString(k++, assetCustomTo.getDmx_product_desc_2());
                                  psmt.setString(k++, assetCustomTo.getAsset_order_status_2());                    
                             }else{
                                  psmt.setNull(k++,Types.INTEGER);
                                  psmt.setNull(k++,Types.INTEGER);
                                  psmt.setNull(k++,Types.VARCHAR);
                                  psmt.setNull(k++,Types.VARCHAR);
                             if(assetCustomTo.getEffectiveDate()!=null){
                                  psmt.setTimestamp(k++, assetCustomTo.getEffectiveDate());
                             }else{
                                  psmt.setNull(k++,Types.TIMESTAMP);
                             if(assetCustomTo.getExpirationDate()!=null){
                                  psmt.setTimestamp(k++, assetCustomTo.getExpirationDate());     
                             }else{
                                  psmt.setNull(k++,Types.TIMESTAMP);
                             psmt.setString(k++, assetCustomTo.getHighresFileName());     
                             if(assetCustomTo.getSys_file_name1()!=null && assetCustomTo.getSys_file_name1().trim().length()!=0){
                                  psmt.setString(k++, assetCustomTo.getSys_file_name1());
                             }else{
                                  psmt.setNull(k++, Types.VARCHAR);
                             psmt.setLong(k++, assetCustomTo.getAsset_type_id());
                             psmt.setLong(k++, assetCustomTo.getMaterialCategory());
                             if(assetCustomTo.getPart_notes_1()!=null && assetCustomTo.getPart_notes_1().trim().length()!=0){
                                  psmt.setString(k++, assetCustomTo.getPart_notes_1());
                             }else{
                                  psmt.setNull(k++,Types.VARCHAR);
                             if(assetCustomTo.getPart_notes_2()!=null && assetCustomTo.getPart_notes_2().trim().length()!=0){
                                  psmt.setString(k++, assetCustomTo.getPart_notes_2());
                             }else{
                                  psmt.setNull(k++,Types.VARCHAR);
                             if(assetCustomTo.getDmx_product_desc_1()!=null){
                                  psmt.setLong(k++,assetCustomTo.getPhy_asset_status());     
                             }else{
                                  psmt.setNull(k++,Types.INTEGER);
                             psmt.execute();
                             if (assetCustomTo.getHighResolutionImageIn() != null) {
                                  /* UPDATE HIGH RESOLUTION IMAGE INTO DLX_ASSET TABLE */
                                  logger.logInfo("inside IF condition ,,,,,,,,,,,"+assetId);
                                  String query ="SELECT HIGH_RES_IMAGE FROM DLX_ASSET WHERE ASSET_ID ="+assetId+ " FOR UPDATE ";
                                  psHighResObj =(OraclePreparedStatement) con.prepareStatement(query);
                                  logger.logInfo("inside updating high res AFTER prepare statement"+psHighResObj);
                                  rsHighRes = (OracleResultSet) psHighResObj.executeQuery();
                                  while (rsHighRes.next()) {
                                       highResImg =(OrdImage)rsHighRes.getCustomDatum(1,OrdImage.getFactory());
                                       highResImg.loadDataFromInputStream(assetCustomTo.getHighResolutionImageIn());
                                       assetCustomTo.getHighResolutionImageIn().close();
                                       UPDATE_QRY = "UPDATE DLX_ASSET SET HIGH_RES_IMAGE = ? WHERE ASSET_ID=" + assetId;
                                       stmt1 =(OraclePreparedStatement) con.prepareCall(UPDATE_QRY);
                                       highResImg.setSource(assetCustomTo.getHighresFileType(),"",assetCustomTo.getSys_file_name1());
                                       highResImg.setContentLength(Integer.parseInt(assetCustomTo.getHighresFileSize()));
                                       highResImg.setProperties();
                                       stmt1.setCustomDatum(1, highResImg);
                                       stmt1.execute();
    The connection in the method is passed from the service layer.
    Thanks
    Edited by: Sanu Sasidharan on May 12, 2011 2:30 AM

  • ORA-01002: fetch out of sequence! HELP NEEDED!

    Hi, can someone help us (me)!
    Application: Sun-ConcordeXAL 2.6
    Clients: Sun-Oracle-7.2.3
    Database: Linux-Oracle-8.0.5.1
    (PS! if clients software change to XAL 2.7 and Oracle 8.0.4
    then we get same error)
    Maybe database configuration or client oracle configuration
    problem we dont'no ...
    HELP US(Me)
    Andri
    null

    Andri Karniol (guest) wrote:
    : Hi, can someone help us (me)!
    : Application: Sun-ConcordeXAL 2.6
    : Clients: Sun-Oracle-7.2.3
    : Database: Linux-Oracle-8.0.5.1
    : (PS! if clients software change to XAL 2.7 and Oracle 8.0.4
    : then we get same error)
    : Maybe database configuration or client oracle configuration
    : problem we dont'no ...
    : HELP US(Me)
    : Andri
    I met the same error message when I upgrade the database from
    SCO-7.2.2.4 to Sun-7.3.4. It seems some Pro*C program can not
    work anymore. It give me ORA-01002: fetch out of sequence.
    Any idea in this case?
    Rgds Johnny
    null

  • ORA-01002: fetch out of sequence using multiple XA datasources

    Hi,
    I have a problem accessing multiple XA datasources :
    - launch an sql request on datasource 1
    - rs.next() on the resultset
    - use the data to launch another sql request on datasource 2
    After 10 iterations, the next() method throws an SQLException (ORA-01002: fetch out of sequence).
    After further investigation, I noticed that :
    - the problem doesn't occur if the same datasource is used for the 2 requests
    - if I set the fetch size to 15 for the first request, the exception is thrown after 15 iterations (but I can't use this as a workaround because the number is potentially above the million).
    Anyone experiencing the same problem ?
    Thanks in advance
    Nicolas
    Here's my configuration :
    - Weblogic 8.1 SP4
    - JDK sun 1.4.2_04 (we have the same problem with various JDKs including JRockit)
    - Oracle 10g
    - Oracle thin driver xa 10.1.0.2.0
    A JSP I use to reproduce the problem :
    <pre><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ page import="java.util.ArrayList,
                        java.sql.Connection,
                        java.sql.PreparedStatement,
                        java.sql.ResultSet,
                        java.sql.SQLException,
                        javax.naming.InitialContext,
                        javax.naming.NamingException,
                        javax.sql.DataSource,
                        javax.transaction.UserTransaction"%>
    <%!
         public void launchTest() throws Exception {
              Connection cnx =null ;
              try {
                   getUserTransaction().begin();
                   // SQL access #1
                   cnx = getConnection("jdbc/xaDatasource1");
                   PreparedStatement stmt = cnx.prepareStatement("SELECT test_col from test_table");
                   ResultSet rs = stmt.executeQuery();
                   // iterate on resulset from SQL 1
                   int i=1;
                   while (rs.next()){ // SQL exception after 10 iterations
                        System.out.println(i + "");
                        i++;
                        // SQL access #2
                        Connection cnx2 = getConnection("jdbc/xaDatasource2");
                        // problem occurs even if we don't request
                        cnx2.close();
                        // end SQL access #2
                   getUserTransaction().commit();
              } catch (Exception e) {
                   e.printStackTrace();
                   try {
                        getUserTransaction().rollback();
                   } catch (Exception e1) {
                        e1.printStackTrace();
                        throw e;
              } finally {
                   try {
                        if (cnx != null && !cnx.isClosed())
                             cnx.close();
                   } catch (Exception e1) {
                        e1.printStackTrace();
         private UserTransaction getUserTransaction() throws NamingException {
              return (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
         private Connection getConnection(String jndiName) throws NamingException, SQLException {
              DataSource ds = (DataSource) new InitialContext().lookup(jndiName);
              return ds.getConnection();
    %>
    <%
    launchTest();
         SQL CODE :
         CREATE TABLE TEST_TABLE (     TEST_COL NUMBER(2));
         insert into test_table values(1);
         insert into test_table values(2);
         insert into test_table values(3);
         insert into test_table values(4);
         insert into test_table values(5);
         insert into test_table values(6);
         insert into test_table values(7);
         insert into test_table values(8);
         insert into test_table values(9);
         insert into test_table values(10);
         insert into test_table values(11);
    %>
    </pre>

    Nicolas Mervaillie wrote:
    Hi,
    I have a problem accessing multiple XA datasources :
    - launch an sql request on datasource 1
    - rs.next() on the resultset
    - use the data to launch another sql request on datasource 2
    After 10 iterations, the next() method throws an SQLException (ORA-01002: fetch out of sequence).
    After further investigation, I noticed that :
    - the problem doesn't occur if the same datasource is used for the 2 requests
    - if I set the fetch size to 15 for the first request, the exception is thrown after 15 iterations (but I can't use this as a workaround because the number is potentially above the million).
    Anyone experiencing the same problem ?Hi. This is a known weakness of Oracle. If the XA transactional context of a connection
    changes during a result set processing, even if it is switched back correctly, the result
    set is aborted. If the oracle driver has fetched 10 rows, that's all you get. The next
    call to next() that needs real DBMS communication will fail.
    By spec, an XA connection should be able to be swapped out and enlisted in different
    transactions at a per-call granularity, so our pools allow that by default. Try setting
    the KeepXAConnTillTxCOmplete setting in your pool.
    When a connection is put back in the pool, if it is an XA connection we will suspend
    any user tx, and test it with our own test tx, then re-enlist and re-start the user
    tx in flight. This may be the context switch that kills the oracle result set.
    Joe
    >
    Thanks in advance
    Nicolas
    Here's my configuration :
    - Weblogic 8.1 SP4
    - JDK sun 1.4.2_04 (we have the same problem with various JDKs including JRockit)
    - Oracle 10g
    - Oracle thin driver xa 10.1.0.2.0
    A JSP I use to reproduce the problem :
    <pre><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ page import="java.util.ArrayList,
                        java.sql.Connection,
                        java.sql.PreparedStatement,
                        java.sql.ResultSet,
                        java.sql.SQLException,
                        javax.naming.InitialContext,
                        javax.naming.NamingException,
                        javax.sql.DataSource,
                        javax.transaction.UserTransaction"%>
    <%!
         public void launchTest() throws Exception {
              Connection cnx =null ;
              try {
                   getUserTransaction().begin();
                   // SQL access #1
                   cnx = getConnection("jdbc/xaDatasource1");
                   PreparedStatement stmt = cnx.prepareStatement("SELECT test_col from test_table");
                   ResultSet rs = stmt.executeQuery();
                   // iterate on resulset from SQL 1
                   int i=1;
                   while (rs.next()){ // SQL exception after 10 iterations
                        System.out.println(i + "");
                        i++;
                        // SQL access #2
                        Connection cnx2 = getConnection("jdbc/xaDatasource2");
                        // problem occurs even if we don't request
                        cnx2.close();
                        // end SQL access #2
                   getUserTransaction().commit();
              } catch (Exception e) {
                   e.printStackTrace();
                   try {
                        getUserTransaction().rollback();
                   } catch (Exception e1) {
                        e1.printStackTrace();
                        throw e;
              } finally {
                   try {
                        if (cnx != null && !cnx.isClosed())
                             cnx.close();
                   } catch (Exception e1) {
                        e1.printStackTrace();
         private UserTransaction getUserTransaction() throws NamingException {
              return (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
         private Connection getConnection(String jndiName) throws NamingException, SQLException {
              DataSource ds = (DataSource) new InitialContext().lookup(jndiName);
              return ds.getConnection();
    %>
    <%
    launchTest();
         SQL CODE :
         CREATE TABLE TEST_TABLE (     TEST_COL NUMBER(2));
         insert into test_table values(1);
         insert into test_table values(2);
         insert into test_table values(3);
         insert into test_table values(4);
         insert into test_table values(5);
         insert into test_table values(6);
         insert into test_table values(7);
         insert into test_table values(8);
         insert into test_table values(9);
         insert into test_table values(10);
         insert into test_table values(11);
    %>
    </pre>

  • ORA-01002 fetch out of sequence after suspend/resume transaction

    Environment
    - WebLogic 10.0.2.0
    - Oracle thin driver 10.2.0.2.0
    I iterate throw elements of ResultSet. During that global transaction is suspended and resumed. Then invoking of next on ResultSet caused following exception “java.sql.SQLException: ORA-01002: fetch out of sequence”.
    I found that similar problem was reported in older WLS version ORA-01002 fetch out of sequence
    Do you have any idea how I can fix it?
    Best regards,
    Adam

    OK, to get to the complete explanation, I suggest you open
    an official support case. And I'm not trying to avoid the issue,
    but fetching millions of rows out of the database to process
    them outside is the wrong way to go. I highly recommend
    DBMS-side logic in stored procedures to do the raw data processing.

  • ORA-01002/ Fetch out of sequence on lazy loading

    Hello,
    We are facing an oracle SQLException (ORA-01002: fetch out of sequence)
    while we are trying to get a field (retrieved via lazy loading) from an
    object that was retrieved using a kodoquery.
    This error only occurs during performance testing under a heavy load.
    (100 concurrent users). For each thread we get a new persistencemanager
    from the factory. And we have put the multithreaded option to true.
    Can anyone help us with this problem?
    Thanks in advance,
    Kind Regards,
    Niels Soeffers
    Caused by: java.sql.SQLException: ORA-01002: fetch out of sequence
         at
    oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
         at
    oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
         at
    oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1027)
         at
    oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:291)
         at
    oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:213)
         at
    com.solarmetric.jdbc.DelegatingResultSet.next(DelegatingResultSet.java:97)
         at kodo.jdbc.sql.ResultSetResult.nextInternal(ResultSetResult.java:151)
         at kodo.jdbc.sql.AbstractResult.next(AbstractResult.java:123)
         at kodo.jdbc.sql.Select$SelectResult.next(Select.java:2236)
         at
    kodo.jdbc.meta.AbstractCollectionFieldMapping.load(AbstractCollectionFieldMapping.java:592)
         at kodo.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java:521)
         at
    kodo.runtime.DelegatingStoreManager.load(DelegatingStoreManager.java:133)
         at kodo.runtime.ROPStoreManager.load(ROPStoreManager.java:79)
         at kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java:3166)
         at kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.java:3265)
         at kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java:1386)
         at
    com.ardatis.ventouris.domain.OntvangstReeks.jdoGetontvangstTransacties(OntvangstReeks.java)
         at
    com.ardatis.ventouris.domain.OntvangstReeks.getStatus(OntvangstReeks.java:72)
         at
    com.ardatis.ventouris.service.financien.transfer.FinancienTOAssembler.getOntvangstReeksBaseTO(FinancienTOAssembler.java:71)
         at
    com.ardatis.ventouris.service.financien.transfer.FinancienTOAssembler.getOntvangstReeksBaseTOs(FinancienTOAssembler.java:84)
         at
    com.ardatis.ventouris.service.financien.FinancienManagerImpl.getOntvangstReeksBaseTOs(FinancienManagerImpl.java:241)
         at
    com.ardatis.ventouris.service.financien.ejb.FinancienManagerBean.getOntvangstReeksBaseTOs(FinancienManagerBean.java:62)
         at sun.reflect.GeneratedMethodAccessor181.invoke(Unknown Source)
         at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:153)
         at java.security.AccessController.doPrivileged(Native Method)
         at
    com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:950)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:158)
         at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:128)
         at $Proxy31.getOntvangstReeksBaseTOs(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor155.invoke(Unknown Source)
         at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)

    We are using Oracle 10g and have tried multiple dirvers. (classes12.jar,
    ojdbc14.jar)
    Our kodo.properties ( actually the ra.xml we supply with the kodo.rar )
    <connector>
    <display-name>KodoJDO</display-name>
    <description>Resource Adapter for integration of the Kodo Java Data
    Objects (JDO) implementation with J2EE 1.3 compliant managed
    environments</description>
    <vendor-name>Solarmetric, Inc.</vendor-name>
    <spec-version>1.0</spec-version>
    <eis-type>jdo</eis-type>
    <version>1.0</version>
    <license>
    <description>
    See http://www.solarmetric.com for terms and license conditions.
    </description>
    <license-required>true</license-required>
    </license>
    <resourceadapter>
         <managedconnectionfactory-class>kodo.jdbc.ee.JDBCManagedConnectionFactory</managedconnectionfactory-class>
    <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
    <connectionfactory-impl-class>kodo.jdbc.ee.JDBCConnectionFactory</connectionfactory-impl-class>
    <connection-interface>javax.resource.cci.Connection</connection-interface>
    <connection-impl-class>kodo.runtime.PersistenceManagerImpl</connection-impl-class>
    <transaction-support>XATransaction</transaction-support>
    <config-property>
    <description>A comma-separated list of query aggregate listeners
    to add to the default list of extensions. Each listener must implement
    the kodo.jdbc.query.JDBCAggregateListener interface.</description>
    <config-property-name>AggregateListeners</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The kodo.jdbc.meta.ClassIndicator to use by default
    for new mappings. The class indicator is responsible for tracking the
    concrete class or subclass implemented by the object stored in each row of
    a table.</description>
    <config-property-name>ClassIndicator</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>in-class-name</config-property-value>
    </config-property>
    <config-property>
    <description>The kodo.util.ClassResolver implementation that
    should be used for JDO class resolution. Defaults to a JDO spec-compliant
    resolver.</description>
    <config-property-name>ClassResolver</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>spec</config-property-value>
    </config-property>
    <config-property>
    <description>Details about various compatibiity levels for the
    current environment.</description>
    <config-property-name>Compatibility</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>The class name of either the JDBC java.sql.Driver, or
    an instance of a javax.sql.DataSource to use to connect to the non-XA data
    source.</description>
    <config-property-name>Connection2DriverName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The password for the user specified in
    Connection2UserName</description>
    <config-property-name>Connection2Password</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of properties to be passed to
    the non-XA JDBC Driver when obtaining a Connection. Properties are of the
    form "key=value". If the given JDBC Driver class is a DataSource, these
    properties will be used to configure the bean properties of the
    DataSource. </description>
    <config-property-name>Connection2Properties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The URL for the non-XA data source.</description>
    <config-property-name>Connection2URL</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The username for the connection listed in
    Connection2URL.</description>
    <config-property-name>Connection2UserName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of
    com.solarmetric.jdbc.ConnectionDecorator implementations to install on all
    connection pools.</description>
    <config-property-name>ConnectionDecorators</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The class name of either the JDBC java.sql.Driver, or
    an instance of a javax.sql.DataSource to use to connect to the data
    source.</description>
    <config-property-name>ConnectionDriverName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The JNDI name of the connection factory to use for
    finding non-XA connections. If specified, this is the connection that
    will be used for obtaining sequence numbers.</description>
    <config-property-name>ConnectionFactory2Name</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
         <config-property-value>jdbc/VentourisNonXA</config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of properties used to
    configure the javax.sql.DataSource used as the non-XA ConnectionFactory.
    Each property should be of the form "key=value", where "key" is the name
    of some bean-like property of the data source.</description>
    <config-property-name>ConnectionFactory2Properties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The JNDI name of the connection factory to use for
    obtaining connections.</description>
    <config-property-name>ConnectionFactoryName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
         <config-property-value>jdbc/Ventouris</config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of properties used to
    configure the javax.sql.DataSource used as the ConnectionFactory. Each
    property should be of the form "key=value", where "key" is the name of
    some bean-like property of the data source.</description>
    <config-property-name>ConnectionFactoryProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The password for the user specified in
    ConnectionUserName</description>
    <config-property-name>ConnectionPassword</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of properties to be passed to
    the JDBC Driver when obtaining a Connection. Properties are of the form
    "key=value". If the given JDBC Driver class is a DataSource, these
    properties will be used to configure the bean properties of the
    DataSource. </description>
    <config-property-name>ConnectionProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>This property dictates when PersistenceManagers will
    retain and release data store connections. Available options are
    "on-demand" for retaining a connection only during pessimistic
    transactions and data store operations, "transaction" for retaining a
    connection for the life of each transaction, or "persistence-manager" to
    indicate that a persistence manager should retain and reuse a single
    connection for its entire lifespan.</description>
    <config-property-name>ConnectionRetainMode</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>transaction</config-property-value>
    </config-property>
    <config-property>
    <description>The URL for the data source.</description>
    <config-property-name>ConnectionURL</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The username for the connection listed in
    ConnectionURL.</description>
    <config-property-name>ConnectionUserName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>Set to true if you''d like Kodo to copy all object
    ids before returning them to your code. If you do not plan on modifying
    identity objects, you can set this property to false to avoid the copying
    overhead.</description>
    <config-property-name>CopyObjectIds</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to cache data loaded from the data store.
    Must implement kodo.datacache.DataCache.</description>
    <config-property-name>DataCache</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The number of milliseconds that data in the data
    cache is valid for. A value of 0 or less means that by default, cached
    data does not time out.</description>
    <config-property-name>DataCacheTimeout</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>-1</config-property-value>
    </config-property>
    <config-property>
    <description>The type of data source in use. Available options
    are "local" for a standard data source under Kodo''s control, or
    "enlisted" for a data source managed by an application server and
    automatically enlisted in global transactions.</description>
    <config-property-name>DataSourceMode</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>enlisted</config-property-value>
    </config-property>
    <config-property>
    <description>The kodo.jdbc.sql.DBDictionary to use for database
    interaction. This is auto-detected based on the setting of
    javax.jdo.option.ConnectionURL, so you need only set this to override the
    default with your own custom dictionary or if you are using an
    unrecognized driver.</description>
    <config-property-name>DBDictionary</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>Whether to dynamically create custom structs to hold
    and transfer persistent state in the Kodo data cache and remote
    persistence manager frameworks. Dynamic structs can reduce data cache
    memory consumption, reduce the amount of data serialized back and forth
    under remote persistence managers, and improve the overall performance of
    these systems. However, they increase application warm-up time while the
    custom classes are generated and loaded into the JVM. Set to true to
    enable dynamic data structs.</description>
    <config-property-name>DynamicDataStructs</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>Specifies the default eager fetch mode to use.
    Either "none" to never eagerly-load relations, "join" for selecting 1-1
    relations along with the target object using inner or outer joins, or
    "parallel" for selecting 1-1 relations via joins, and collections
    (including to-many relations) along with the target object using separate
    select statements executed in parallel.</description>
    <config-property-name>EagerFetchMode</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>parallel</config-property-value>
    </config-property>
    <config-property>
    <description>The number of rows that will be pre-fetched when an
    element in a Query result is accessed. Use -1 to pre-fetch all
    results.</description>
    <config-property-name>FetchBatchSize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>-1</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the JDBC fetch direction to use.
    Standard values are "forward", "reverse", and "unknown".</description>
    <config-property-name>FetchDirection</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>forward</config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of fetch group names that
    PersistenceManagers will load by default when loading data from the data
    store.</description>
    <config-property-name>FetchGroups</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of query filter listeners to
    add to the default list of extensions. Each listener must implement the
    kodo.jdbc.query.JDBCFilterListener interface.</description>
    <config-property-name>FilterListeners</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>Whether or not Kodo should automatically flush
    modifications to the data store before executing queries.</description>
    <config-property-name>FlushBeforeQueries</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>with-connection</config-property-value>
    </config-property>
    <config-property>
    <description>If true, Kodo will order all SQL inserts, updates,
    and deletes to meet your schema''s foreign key constraints. Defaults to
    false.</description>
    <config-property-name>ForeignKeyConstraints</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>If false, then the JDO implementation must consider
    modifications, deletions, and additions in the PersistenceManager
    transaction cache when executing a query inside a transaction. Else, the
    implementation is free to ignore the cache and execute the query directly
    against the data store.</description>
    <config-property-name>IgnoreCache</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to manage inverse relations during flush.
    Set to true to use the default inverse manager. Custom inverse managers
    must extend kodo.runtime.InverseManager.</description>
    <config-property-name>InverseManager</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of
    com.solarmetric.jdbc.JDBCListener implementations to install on all
    connection pools.</description>
    <config-property-name>JDBCListeners</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The license key provided to you by SolarMetric. Keys
    are available at www.solarmetric.com</description>
    <config-property-name>LicenseKey</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value><KEY-REMOVED></config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to handle acquiring locks on persistent
    instances. Must implement kodo.runtime.LockManager.</description>
    <config-property-name>LockManager</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>pessimistic</config-property-value>
    </config-property>
    <config-property>
    <description>The number of milliseconds to wait for an object lock
    before throwing an exception, or -1 for no limit.</description>
    <config-property-name>LockTimeout</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>-1</config-property-value>
    </config-property>
    <config-property>
    <description>LogFactory and configuration for Kodo''s logging
    needs.</description>
    <config-property-name>Log</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>kodo(DefaultLevel=WARN, Tool=WARN,
    Runtime=WARN, SQL=WARN)</config-property-value>
    </config-property>
    <config-property>
    <description>The mode to use for calculating the size of large
    result sets. Legal values are "unknown", "last", and "query".</description>
    <config-property-name>LRSSize</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>query</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to integrate with an external transaction
    manager. Must implement kodo.runtime.ManagedRuntime.</description>
    <config-property-name>ManagedRuntime</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>auto</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to configure management and profiling
    capabilities.</description>
    <config-property-name>ManagementConfiguration</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>none</config-property-value>
    </config-property>
    <config-property>
    <description>The kodo.jdbc.meta.MappingFactory that will provide
    the object-relational mapping information needed to map each persistent
    class to the database.</description>
    <config-property-name>MappingFactory</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>file</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to create metadata about persistent
    types. Must implement kodo.meta.MetaDataLoader</description>
    <config-property-name>MetaDataLoader</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>jdo</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then the application plans to have multiple
    threads simultaneously accessing a single PersistenceManager, so measures
    must be taken to ensure that the implementation is thread-safe. Otherwise,
    the implementation need not address thread safety.</description>
    <config-property-name>Multithreaded</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then it is possible to read persistent data
    outside the context of a transaction. Otherwise, a transaction must be in
    progress in order read data.</description>
    <config-property-name>NontransactionalRead</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then it is possible to write to fields of a
    persistent-nontransactional object when a transaction is not in progress.
    If false, such a write will result in a JDOUserException.</description>
    <config-property-name>NontransactionalWrite</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>Determines the persistence manager's behavior in
    calls to getObjectById with a validate parameter of false. Use "check" to
    check that a database record exists for the object and load its fetch
    group fields. Use "hollow" to return a hollow instance.</description>
    <config-property-name>ObjectLookupMode</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>check</config-property-value>
    </config-property>
    <config-property>
    <description>Selects between optimistic and pessimistic (data
    store) transactional modes.</description>
    <config-property-name>Optimistic</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>Action to take when Kodo discovers an orphaned key in
    the database. May be a custom action implementing
    kodo.event.OrphanedKeyAction.</description>
    <config-property-name>OrphanedKeyAction</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>log</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the concrete implementation of
    javax.jdo.PersistenceManagerFactory that
    javax.jdo.JDOHelper.getPersistenceManagerFactory () should create. For
    Kodo JDO, this should be kodo.jdbc.runtime.JDBCPersistenceManagerFactory
    or a custom extension of this type.</description>
    <config-property-name>PersistenceManagerFactoryClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>kodo.jdbc.runtime.JDBCPersistenceManagerFactory</config-property-value>
    </config-property>
    <config-property>
    <description>Persistence manager plugin and properties. If you
    use a custom class, it must extend
    kodo.runtime.PersistenceManagerImpl.</description>
    <config-property-name>PersistenceManagerImpl</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>default</config-property-value>
    </config-property>
    <config-property>
    <description>Configure this persistence manager factory to service
    remote persistence managers.</description>
    <config-property-name>PersistenceManagerServer</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of the class names of all
    persistent classes to register whenever a persistence manager is
    obtained.</description>
    <config-property-name>PersistentClasses</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.ardatis.ventouris.domain.KwartaalVerhoging,
    com.ardatis.ventouris.domain.Land, com.ardatis.ventouris.domain.Gemeente,
    com.ardatis.ventouris.domain.Adres,
    com.ardatis.ventouris.domain.ContactGegeven,
    com.ardatis.ventouris.domain.AdresContactGegeven,
    com.ardatis.ventouris.common.type.AdresType,
    com.ardatis.ventouris.domain.OntvangstTransactie,
    com.ardatis.ventouris.domain.OntvangstReeks,
    com.ardatis.ventouris.domain.Ontvangst,
    com.ardatis.ventouris.domain.Inkomen,
    com.ardatis.ventouris.domain.loopbaan.LoopbaanPeriode,
    com.ardatis.ventouris.common.type.InkomenSoort,
    com.ardatis.ventouris.common.type.INSZ,
    com.ardatis.ventouris.domain.Aangeslotene,
    com.ardatis.ventouris.domain.NatuurlijkePersoon,
    com.ardatis.ventouris.domain.Persoon, com.ardatis.ventouris.domain.Rol,
    com.ardatis.ventouris.domain.Dossier,
    com.ardatis.ventouris.common.type.Geslacht,
    com.ardatis.ventouris.common.type.Taal,
    com.ardatis.ventouris.common.type.Nationaliteit,
    com.ardatis.ventouris.common.type.KostType,
    com.ardatis.ventouris.domain.Verhoging,
    com.ardatis.ventouris.domain.Aanvraag,
    com.ardatis.ventouris.domain.AanvraagAansluitingSS,
    com.ardatis.ventouris.domain.AanvraagToestand,
    com.ardatis.ventouris.common.type.AanvraagToestandType,
    com.ardatis.ventouris.domain.Factuur,
    com.ardatis.ventouris.domain.TaakType, com.ardatis.ventouris.domain.Taak,
    com.ardatis.ventouris.domain.BijdrageBerekening,
    com.ardatis.ventouris.domain.calculationparameters.HerwaarderingsIndex,
    com.ardatis.ventouris.domain.integration.asis.TempInterneOntvangst,
    com.ardatis.ventouris.domain.calculationparameters.InkomenGrens,
    com.ardatis.ventouris.domain.calculationparameters.BijdrageCategorie,
    com.ardatis.ventouris.domain.calculationparameters.BijdrageCategorieGroep,
    com.ardatis.ventouris.domain.integration.asis.TempOntvangstKinderbijslag,
    com.ardatis.ventouris.domain.calculationparameters.JaarVerhogingParameter,
    com.ardatis.ventouris.domain.calculationparameters.KwartaalVerhogingParameter,
    com.ardatis.ventouris.domain.UitgaveReeks,
    com.ardatis.ventouris.domain.Uitgave,
    com.ardatis.ventouris.domain.Terugbetaling,
    com.ardatis.ventouris.domain.BedragTerugbetaald,
    com.ardatis.ventouris.domain.BijdrageSS</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to proxy second class object fields of
    managed instances. Must implement kodo.util.ProxyManager.</description>
    <config-property-name>ProxyManager</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>default</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to cache query results loaded from the
    data store. Must implement kodo.datacache.QueryCache.</description>
    <config-property-name>QueryCache</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to cache query compilation data. Must
    implement java.util.Map. Does not need to be thread-safe -- it will be
    wrapped via the Collections.synchronizedMap() method if it does not extend
    kodo.util.CacheMap.</description>
    <config-property-name>QueryCompilationCache</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>The default lock level to use when loading objects
    within non-optimistic transactions. Set to none, read, write, or the
    numeric value of the desired lock level for your lock
    manager.</description>
    <config-property-name>ReadLockLevel</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>read</config-property-value>
    </config-property>
    <config-property>
    <description>Plugin used to communicate commit information among
    JVMs. Must implement kodo.event.RemoteCommitProvider.</description>
    <config-property-name>RemoteCommitProvider</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>Whether or not RemoteCommitEvents will include the
    object Ids of objects added during the transaction.</description>
    <config-property-name>RemoteCommitTransmitAddObjectIds</config-property-na

  • BUG: preview report template errors with ORA-01002

    I've checked on my local install and on apex.oracle.com. I go into the Templates of Shared Components and filter on the Report Templates. Although the preview icon is displayed to allow me to preview the template, I always receive "ORA-01002: fetch out of sequence" on an error page. The only types of Report Templates I have are of type "Generic Columns" so not sure if the problem exists with "Named Columns."
    Can anyone confirm this or correct me on this?
    Shane.

    I wouldn't mind piggy-backing this to ask if the Report Template "shortcut" links at the top of the page can be updated to account for all sections that are now a part of the Report Template. "Before Each Row" and "After Each Row" sections are not listed in the shortcuts. There are also two shortcuts listed as "Before" and "After" which should probably be relabeled.
    Shane.

Maybe you are looking for

  • Oracle Identity Manger 9.1.0 Recon not working

    I created a database connector using the generic technology connector, and tried to do reconciliation using the auto created scheduled task. But on reconciliation it gives the following error: java.lang.NullPointerException at com.thortech.xl.dataobj

  • Error in JDBC receiver Communication Channel

    Hi, I am facing a problem at receiver communication channel of JDBC adapter. I am gettting the error as, "com.sap.aii.af.ra.ms.api.RecoverableException: Channel has reached maximum concurrency(5,000 concurrent Messages) and no free resourse found wit

  • PDF Form Printing Text, but no Form

    I have an accountant trying to print a PDF Form.  It cannot be saved, but only printed.  When the form is completed and printed, it only prints out the entered text, and nothing else.  All other PDF docs print fine IT conditions: She prints to an old

  • Mini calendar in mail missing after Lion installation

    mini calendar in mail missing after Lion installation

  • SQL Developer "visits" each defined connection on startup

    I am using SQL Developer 2.1.1.64. When I start it, it "visits" each defined connection. I'm using the term "visits" rather than "connects" because it doesn't auto-expand the entries in the Connections list, and it doesn't open up any SQL Worksheets.