Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> OO4O sequence problem

OO4O sequence problem

From: Ludo Joris <ludo.joris_at_ua.ac.be>
Date: Tue, 23 Sep 2003 12:16:08 +0200
Message-ID: <bkp6ga$at6$1@naxos.belnet.be>


I have been using sequences for years without problems (Oracle Database 8.0.6, Oracle Client 7.3.4). After I upgraded to Oracle Client 9.2.0.1 I have a problem with all my database sequences accessed from my VB programs.

DROP SEQUENCE SEQ_MAG_BON_NR;
CREATE SEQUENCE SEQ_MAG_BON_NR
  START WITH 1
  INCREMENT BY 1
  NOCACHE
;

In SQL*Plus you get what you expect:

SQL> select seq_mag_bon_nr.nextval from dual;

   NEXTVAL


        36
SQL> select seq_mag_bon_nr.nextval from dual;

   NEXTVAL


        37
SQL> In VB5 with OO4O:
  SQL = "SELECT SEQ_MAG_BON_NR.nextVAL FROM DUAL"   Set ds = TDB.CreateDynaset(SQL, ORADYN_NOCACHE)   n1 = ds.Fields(0).Value
  ds.Close
  SQL = "SELECT SEQ_MAG_BON_NR.nextVAL FROM DUAL"   Set ds = TDB.CreateDynaset(SQL, ORADYN_NOCACHE)   n2 = ds.Fields(0).Value
  ds.Close
  MsgBox "n1 = " & n1 & " n2 = " & n2

If I run the program I get: n1 = 38 n2 = 40 If I run the program again I get: n1 = 42 n2 = 44

It is as if my sequence always skips one value?

Thanks! Received on Tue Sep 23 2003 - 05:16:08 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US