JComboBox focusLost sets Transaction dirty

A JComboBox bound to a ViewObject in an ApplicationModule sets that ApplicationModule's transaction dirty even if no changes were made. The combobox list wasn't even opened, just focus in and out or tab-in and tab-out.
This seems to be a side-effect of having a different column displayed to that bound to the JComboBox.
This binding works correctly (VcVehicleRegistration is the bound column and the displayed column):
mVcVehicleRegistration.setModel(JUComboBoxBinding.createLovBinding(panelBinding, mVcVehicleRegistration, "VehicleIncidents", null, "VehicleIncidentsIter", new String[] {"VcVehicleRegistration"}, "VehicleView", new String[] {"VcVehicleRegistration"}, new String[] {"VcVehicleRegistration"}, null, null));
whereas this fails (VcCauseCode is the bound column, but VcDescription is displayed):
mVcCauseCode.setModel(JUComboBoxBinding.createLovBinding(panelBinding, mVcCauseCode, "VehicleIncidents", null, "VehicleIncidentsIter", new String[] {"VcCauseCode"}, "CauseView", new String[] {"VcCauseCode"}, new String[] {"VcDescription"}, null, null));
Tony.

I'm doing more-or-less what you did.
I've just reproduced it with a simple panel.
Panel already exists with 5 attributes from a single ViewOject (which are from a single EntityObject) - PersonnelView.
This operates fine and tabbing-through has no problems.
Drop in a ComboBox and bind it to the Branch ViewObject (also single Entity) and display the Branch name:
jComboBox1.setModel(JUComboBoxBinding.createLovBinding(panelBinding, jComboBox1, "PersonnelView", null, "PersonnelViewIter", new String[] {"VcBranch"}, "BranchView", new String[] {"VcBranch"}, new String[] {"VcBranchName"}, null, null));
Tabbing out of this field sets transaction dirty.
How can I check I really am using C:\JDeveloper\BC4J\jlib\FixForBug2632152.jar?
I can e-mail the relevant SQL, BusinessComponents XML and JClient.java if you like.
In the mean-time, I've sub-classed JUNavigationBar and dumped the stack when transactionStateChanged() is called (see below).
Tony.
java.lang.Exception: Stack trace
     void java.lang.Thread.dumpStack()
          Thread.java:997
     void com.lynx.cc.NavBar.transactionStateChanged(boolean)
          NavBar.java:106
     void oracle.jbo.uicli.binding.JUApplication.setTransactionModified()
          JUApplication.java:860
     void oracle.jbo.uicli.jui.JUPanelBinding.callBeforeSetAttribute(oracle.jbo.uicli.binding.JUControlBinding, oracle.jbo.Row, oracle.jbo.AttributeDef, java.lang.Object)
          JUPanelBinding.java:481
     void oracle.jbo.uicli.binding.JUCtrlValueBinding.setAttributeInRow(oracle.jbo.Row, oracle.jbo.AttributeDef, java.lang.Object, boolean)
          JUCtrlValueBinding.java:466
     void oracle.jbo.uicli.binding.JUCtrlValueBinding.setAttributeInRow(oracle.jbo.Row, oracle.jbo.AttributeDef, java.lang.Object)
          JUCtrlValueBinding.java:422
     void oracle.jbo.uicli.binding.JUCtrlListBinding.setTargetAttrsFromLovRow(oracle.jbo.Row, oracle.jbo.Row)
          JUCtrlListBinding.java:678
     void oracle.jbo.uicli.binding.JUCtrlListBinding.updateTargetFromSelectedValue(java.lang.Object)
          JUCtrlListBinding.java:748
     void oracle.jbo.uicli.jui.JUComboBoxBinding.actionPerformed(java.awt.event.ActionEvent)
          JUComboBoxBinding.java:430
     void javax.swing.JComboBox.fireActionEvent()
          JComboBox.java:870
     void javax.swing.JComboBox.selectedItemChanged()
          JComboBox.java:894
     void javax.swing.JComboBox.contentsChanged(javax.swing.event.ListDataEvent)
          JComboBox.java:950
     void javax.swing.AbstractListModel.fireContentsChanged(java.lang.Object, int, int)
          AbstractListModel.java:79
     void javax.swing.DefaultComboBoxModel.setSelectedItem(java.lang.Object)
          DefaultComboBoxModel.java:86
     void javax.swing.JComboBox.actionPerformed(java.awt.event.ActionEvent)
          JComboBox.java:925
     void javax.swing.plaf.basic.BasicComboBoxUI$EditorFocusListener.focusLost(java.awt.event.FocusEvent)
          BasicComboBoxUI.java:1399
     void java.awt.AWTEventMulticaster.focusLost(java.awt.event.FocusEvent)
          AWTEventMulticaster.java:171
     void java.awt.Component.processFocusEvent(java.awt.event.FocusEvent)
          Component.java:3642
     void javax.swing.JComponent.processFocusEvent(java.awt.event.FocusEvent)
          JComponent.java:1980
     void java.awt.Component.processEvent(java.awt.AWTEvent)
          Component.java:3535
     void java.awt.Container.processEvent(java.awt.AWTEvent)
          Container.java:1164
     void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent)
          Component.java:2593
     void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
          Container.java:1213
     void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
          Component.java:2497
     boolean java.awt.LightweightDispatcher.setFocusRequest(java.awt.Component)
          Container.java:2076
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1335
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Container.proxyRequestFocus(java.awt.Component)
          Container.java:1330
     void java.awt.Component.requestFocus()
          Component.java:4174
     void javax.swing.JComponent.grabFocus()
          JComponent.java:915
     void javax.swing.DefaultFocusManager.focusNextComponent(java.awt.Component)
          DefaultFocusManager.java:93
     void javax.swing.DefaultFocusManager.processKeyEvent(java.awt.Component, java.awt.event.KeyEvent)
          DefaultFocusManager.java:71
     void javax.swing.JComponent.processKeyEvent(java.awt.event.KeyEvent)
          JComponent.java:2007
     void java.awt.Component.processEvent(java.awt.AWTEvent)
          Component.java:3553
     void java.awt.Container.processEvent(java.awt.AWTEvent)
          Container.java:1164
     void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent)
          Component.java:2593
     void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
          Container.java:1213
     void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
          Component.java:2497
     boolean java.awt.LightweightDispatcher.processKeyEvent(java.awt.event.KeyEvent)
          Container.java:2155
     boolean java.awt.LightweightDispatcher.dispatchEvent(java.awt.AWTEvent)
          Container.java:2135
     void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent)
          Container.java:1200
     void java.awt.Window.dispatchEventImpl(java.awt.AWTEvent)
          Window.java:926
     void java.awt.Component.dispatchEvent(java.awt.AWTEvent)
          Component.java:2497
     void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent)
          EventQueue.java:339
     boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component)
          EventDispatchThread.java:131
     void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component)
          EventDispatchThread.java:98
     void java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional)
          EventDispatchThread.java:93
     void java.awt.EventDispatchThread.run()
          EventDispatchThread.java:85

Similar Messages

  • Setting transaction isolation level on a replicated server stored procedure

    I have a SQL server that has replication turned onto to another server which is our reporting server. Replication is real-time (or close to it). On the report server I have a stored procedure that runs from a SRS report. My question is it possible or advisable
    or does it even make sense to set the "SET TRANSACTION ISOLATION LEVEL READ COMMITTED" on at the beginning of the stored procedure which selects data from the reporting server database? Is it possible for uncommitted data on the OLTP side of the
    house to be replicated before it is committed? We are having data issues with a report and have exhausted all options and was wondering if dirty data maybe the issue since the same parameters work for a report 1 sec and then next it doesnt.

    Only committed transactions are replicated to the subscriber.  But it is possible for the report to see dirty data if running in READ UNCOMMITTED or NOLOCK.  You should run your reports in READ COMMITTED or SNAPSHOT isolation , and your replication
    subscriber should be configured with READ COMMITTED SNAPSHOT ISLOATION eg
    alter database MySubscriber set allow_snapshot_isolation on;
    alter database MySubscriber set read_committed_snapshot on;
    as recommended here
    Enhance General Replication Performance.
    David
    David http://blogs.msdn.com/b/dbrowne/

  • Question on the "SET TRANSACTION" command

    I am using Oracle 8i on NT. Our front-end is written in Panther v4.2 (aka, Jam v7.0). We have a situation where we want to do a SET TRANSACTION type of process. IE... Module A is executing DML. It then calls Module B (without committing the DML) which has a commit. We want the DML in Module B to commit, Module A should not commit until after additional processing has taken place. All of my readings have shown me this works with SAVEPOINTS and ROLLBACKS. Any clue on how to do this with COMMITS?
    Thanks.

    Hello,
    Given the situation, I would recommend that you use the autonomous transaction facility of PLSQL. This facility will only work in oracle database verison 8.1.5 and above. Let me know if you need more information on it. My email address is
    [email protected]

  • Is "SET TRANSACTION USE ROLLBACK SEGMENT" only a hint

    I have two users, one makes some inserts in a table.
    The other makes a select which visits many rows.
    I have a big rollback-segment.
    To ensure, both users use this rollback-segment I created a logon-trigger:
    CREATE OR REPLACE TRIGGER a_logon AFTER LOGON
    ON DATABASE
    WHEN ( USER IN ( 'SCOTT', 'BOB' ) )
    BEGIN
    SET TRANSACTION USE ROLLBACK SEGMENT rbs_big;
    END;
    But I still get "snapshot to old" messages from the select, which contains the name off an other rollback-segment in the message.
    The trigger really fires, i tested it by adding an insert-statement to a log-table.
    What`s wrong ?

    The set transaction use rollback segment lasts only until you commit or rollback first time and all other transactions in that session will not be forced to that rbs anymore. Other possible solution could be that other users are accessing same tables / updating them so those sessions can't keep the read consistent image available anymore for your sessions.

  • JdbcRowSetXImp (..): SET TRANSACTION must be first statement of transaction

    Hi.
    Im running JSC created application and getting in the log file this messages:
    [date & time] warning (24167): CORE3238: stderr: JdbcRowSetXImpl (setTransactionIsolation): [Sun][Oracle JDBC Driver][Oracle]ORA-01453: SET TRANSACTION must be the first statement of transaction
    As you may see, Im using JSC JDBC drivers. Im running on Sun One Web Server version 6.1 sp2 on Linux RedHat 3Ent. The application was builded with JSC me with latest patch applied.
    It seems a bug in the JdbcRowSetXImpl.
    Has someone similar problem?
    Regards.

    Hi John.
    This message is present on all log file a few days after the application began in production use, almost a month ago.
    The only change done in the configuration few days after the app was deployed was "Guarantee Isolation Level" in the JDBC connection pool configuration, switched from OFF to ON.
    Yesterday I turn OFF again and have no more messages about SET TRANSACTION...
    I guess that the SET TRANSACTION is issued two times, one by the web server before giving the connection to the app then by the row set impl.
    I will let you known if the messages appears again (I guess not).
    Regards.

  • ADF call stored Oracle procedure - make transaction dirty

    Hi all,
    I have the next question:
    my ADF application is doing massive data processing that I placed in Oracle stored procedure/package to improve performance.
    Data processing takes 1-2 sec. I'm not doing any commit/rollback in my PL/SQL code.
    I have "Save"/"Undo" button in the GUI and I want, that an end user to make corresponding action to commit/rollback data by pressing one of the buttons.
    Normally those buttons are disabled since transaction is not dirty.
    Is it possible to mark transaction dirty, so that "Save"/"Undo" buttons are available?
    I know I can make buttons always available, but I not allowed to do so.
    Are any other workarounds? Or can it be done in another proper way?
    Thanks.
    Alexander

    Hi Timo!
    well , good idea!
    and I've already tried to fight with issue when I was getting transaction dirty by clicking on transient checkbox-attribute and tried to find a way to make a dirty transaction to clean :).
    What do you think if I run something like:
    this.saveButton.setDisabled(false);
    this.undoButton.setDisabled(false);
    after a call to stored procedure and use the next code
    this.saveButton.setValueExpression("disabled",getValueExpression("#{!bindings.Commit.enabled}"));
    this.saveButton.setValueExpression("disabled",getValueExpression("#{!bindings.Rollback.enabled}"));
    in commit/Save & rollbak/Undo button handlers? Would it work?
    Alexander

  • Set Transaction Use Rollback segment

    Hi everybody. Does It make sense issue a "set transaction use rollback" for a single query that do not update, insert or delete. The trouble is that I get e "SnapShot too Old" for a query that just do a query.
    Thanks!

    No, If you are not making any modifications then you do not generate rollback (or even a transaction to my knowledge). The SNAPSHOT TOO OLD is because a different session has run through the rollback for the read consistent view you need (either because someone made changes to a table you are reading or from delayed block cleanout). Delayed block cleanout is a pretty complicated scenario so I'll leave it to the Oracle documentation to explain that. Just be aware that even if nobody has made changes to the table since you started your query you can still get SNAPSHOT TOO OLD. Thankfully, 9i helps elleviate this somewhat with the introduction of UNDO TABLESPACES.
    Richard

  • How to set transaction isolation level for a method in a Local Interface

              By reference at:
              http://e-docs.bea.com/wls/docs61/ejb/reference.html#1071267,
              the value for method-intf can only be "Remote" or "Home".
              My question is--
              How to set transaction isolation level for a method inside a Local Interface or
              Local_Home Interface?
              Thanks.
              Xing
              

    I'd try 6.1SP2. I'm pretty sure this works now.
              -- Rob
              Xing wrote:
              > I tried "Local", but got an error when deploying the EJB jar, saying that only
              > "Remote" or "Home" is allowed.
              >
              > Any idea?
              >
              > Xing
              >
              > Rob Woollen <[email protected]> wrote:
              > >
              > >
              > >Use LocalHome or Local.
              > >
              > >-- Rob
              > >
              > >Xing wrote:
              > >
              > >> By reference at:
              > >> http://e-docs.bea.com/wls/docs61/ejb/reference.html#1071267,
              > >> the value for method-intf can only be "Remote" or "Home".
              > >>
              > >> My question is--
              > >>
              > >> How to set transaction isolation level for a method inside a Local
              > >Interface or
              > >> Local_Home Interface?
              > >>
              > >> Thanks.
              > >>
              > >> Xing
              > >
              > >--
              > >
              > >----------------------------------------------------------------------
              > >
              > >AVAILABLE NOW!: Building J2EE Applications & BEA WebLogic Server
              > >
              > >by Michael Girdley, Rob Woollen, and Sandra Emerson
              > >
              > >http://learnWebLogic.com
              > >
              > >
              > >
              > >
              > ><!doctype html public "-//w3c//dtd html 4.0 transitional//en">
              > ><html>
              > >Use LocalHome or Local.
              > ><p>-- Rob
              > ><p>Xing wrote:
              > ><blockquote TYPE=CITE>By reference at:
              > ><br>http://e-docs.bea.com/wls/docs61/ejb/reference.html#1071267,
              > ><br>the value for method-intf can only be "Remote" or "Home".
              > ><p>My question is--
              > ><p>How to set transaction isolation level for a method inside a Local
              > >Interface
              > >or
              > ><br>Local_Home Interface?
              > ><p>Thanks.
              > ><p>Xing</blockquote>
              > >
              > ><pre>--
              > >
              > >----------------------------------------------------------------------
              > >
              > >AVAILABLE NOW!: Building J2EE Applications & BEA WebLogic Server
              > >
              > >by Michael Girdley, Rob Woollen, and Sandra Emerson
              > >
              > >http://learnWebLogic.com</pre>
              > > </html>
              > >
              > >
              AVAILABLE NOW!: Building J2EE Applications & BEA WebLogic Server
              by Michael Girdley, Rob Woollen, and Sandra Emerson
              http://learnWebLogic.com
              [att1.html]
              

  • Setting transaction isolation upon enlistment for XA driver not supported !!?!!?

    Hi !
    I've been developping a simple webapplication with a few Entity CMP EJB, Struts
    and some JSP.
    I registred a Pointbase XA JDBC driver in Weblogic 8.1.
    When I want to create a new post in the database via one of my EJB, I get "Due
    to vendor limitations, setting transaction isolation upon enlistment for "Pointbase
    XA" JDBC XA driver is not supported".
    What do I have to add in my xml files to make it work ?
    Something with <transaction-isolation> in the weblogic-ejb-jar.xml ?
    I'll appreciate some help here...
    Extract of my code (CustomerEditAction.java):
    <<
    CustomerHomeLocal chome = (CustomerHomeLocal) Locator.getHome("CustomerHomeLocal");
    prop = chome.create(cform.getName(), cform.getAddress(), cform.getZipcode(), cform.getCity(),cform.getCountry(),
    cform.getEmail(), cform.getPhone(), cform.getHomepage());
                             And the error message and stack is:
    <<
    javax.ejb.TransactionRolledbackLocalException: EJB Exception:; nested exception
    is: javax.ejb.EJBException: nested exception is: java.sql.SQLException: XA error:
    XAER_RMERR : A resource manager error has occured in the transaction branch start()
    failed on resource 'CaciPool - Pointbase - XA': XAER_RMERR : A resource manager
    error has occured in the transaction branch javax.transaction.xa.XAException:
    start failed for XAResource 'CaciPool - Pointbase - XA': Due to vendor limitations,
    setting transaction isolation upon enlistment for "PointBase XA" JDBC XA driver
    is not supported. at weblogic.jdbc.wrapper.XA.createException(XA.java:104) at
    weblogic.jdbc.jta.DataSource.start(DataSource.java:631) at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1069)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1001)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:203)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:419)
    at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1230) at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1193)
    at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:371) at weblogic.jdbc.jta.DataSource.connect(DataSource.java:329)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:298)
    at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSPersistenceManager.java:1841)
    at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.execGenKeyNamedSequenceTableUpdateAndQuery(RDBMSPersistenceManager.java:2392)
    at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getNextGenKeyPreFetch(RDBMSPersistenceManager.java:2174)
    at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getNextGenKeyNamedSequenceTable(RDBMSPersistenceManager.java:2147)
    at com.caci.ejb.CustomerEJB_6i2zhv__WebLogic_CMP_RDBMS.ejbCreate(CustomerEJB_6i2zhv__WebLogic_CMP_RDBMS.java:5403)
    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:324) at weblogic.ejb20.manager.DBManager.create(DBManager.java:1139)
    at weblogic.ejb20.manager.DBManager.localCreate(DBManager.java:1118) at weblogic.ejb20.internal.EntityEJBLocalHome.create(EntityEJBLocalHome.java:171)
    at com.caci.ejb.CustomerEJB_6i2zhv_LocalHomeImpl.create(CustomerEJB_6i2zhv_LocalHomeImpl.java:133)
    at com.caci.ui.CustomerEditAction.execute(CustomerEditAction.java:58) at
    >>
    Regards,
    Olivier

    Hi !
    I've been developping a simple webapplication with a few Entity CMP EJB, Struts
    and some JSP.
    I registred a Pointbase XA JDBC driver in Weblogic 8.1.
    When I want to create a new post in the database via one of my EJB, I get "Due
    to vendor limitations, setting transaction isolation upon enlistment for "Pointbase
    XA" JDBC XA driver is not supported".
    What do I have to add in my xml files to make it work ?
    Something with <transaction-isolation> in the weblogic-ejb-jar.xml ?
    I'll appreciate some help here...
    Extract of my code (CustomerEditAction.java):
    <<
    CustomerHomeLocal chome = (CustomerHomeLocal) Locator.getHome("CustomerHomeLocal");
    prop = chome.create(cform.getName(), cform.getAddress(), cform.getZipcode(), cform.getCity(),cform.getCountry(),
    cform.getEmail(), cform.getPhone(), cform.getHomepage());
                             And the error message and stack is:
    <<
    javax.ejb.TransactionRolledbackLocalException: EJB Exception:; nested exception
    is: javax.ejb.EJBException: nested exception is: java.sql.SQLException: XA error:
    XAER_RMERR : A resource manager error has occured in the transaction branch start()
    failed on resource 'CaciPool - Pointbase - XA': XAER_RMERR : A resource manager
    error has occured in the transaction branch javax.transaction.xa.XAException:
    start failed for XAResource 'CaciPool - Pointbase - XA': Due to vendor limitations,
    setting transaction isolation upon enlistment for "PointBase XA" JDBC XA driver
    is not supported. at weblogic.jdbc.wrapper.XA.createException(XA.java:104) at
    weblogic.jdbc.jta.DataSource.start(DataSource.java:631) at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1069)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1001)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:203)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:419)
    at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1230) at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1193)
    at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:371) at weblogic.jdbc.jta.DataSource.connect(DataSource.java:329)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:298)
    at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSPersistenceManager.java:1841)
    at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.execGenKeyNamedSequenceTableUpdateAndQuery(RDBMSPersistenceManager.java:2392)
    at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getNextGenKeyPreFetch(RDBMSPersistenceManager.java:2174)
    at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getNextGenKeyNamedSequenceTable(RDBMSPersistenceManager.java:2147)
    at com.caci.ejb.CustomerEJB_6i2zhv__WebLogic_CMP_RDBMS.ejbCreate(CustomerEJB_6i2zhv__WebLogic_CMP_RDBMS.java:5403)
    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:324) at weblogic.ejb20.manager.DBManager.create(DBManager.java:1139)
    at weblogic.ejb20.manager.DBManager.localCreate(DBManager.java:1118) at weblogic.ejb20.internal.EntityEJBLocalHome.create(EntityEJBLocalHome.java:171)
    at com.caci.ejb.CustomerEJB_6i2zhv_LocalHomeImpl.create(CustomerEJB_6i2zhv_LocalHomeImpl.java:133)
    at com.caci.ui.CustomerEditAction.execute(CustomerEditAction.java:58) at
    >>
    Regards,
    Olivier

  • Setting Transaction Isolation

    Hi,
    Is there an OCCI API to set the transaction isolation level for a connection? (eg, TRANSACTION_READ_COMMITTED, TRANSACTION_SERIALIZABLE, etc)
    Thanks,
    Nilofer

    There is no API, you have to execute the corresponding SQL statements through Statement::execute :-
    stmt->execute("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE");
    Regards,
    Shankar

  • ORA-01555: snapshot too old / set transaction

    Hello,
    When I execute a query in a script I have the following error: ORA-01555: snapshot too old...
    At the beginning of the script I have SET TRANSACTION use rollback segment XX.
    On the other hand I used SET TRANSACTION READ ONLY and I had no errors.
    It is a fate or it is the solution?
    What is the difference?
    Thanks

    It's probably just fate. SET TRANSACTION READ ONLY guarantees a read consistent view during the whole transaction rather than an individual statement, but it is not a sovereign remedy against ORA-1555.
    SET TRANSACTION USE ROLLBACK SEGMENT XXXX is meaningless in the context of a SELECT only transaction.
    The ORA-1555 is casued by someone else doing DML that the rollback segment holding the undo information that Oracle uses to provide read consistency. The way to prevent it is to manage the rollback segments properly - big, numerous, high minextents, no shrinking - or to use 9i UNDO tablespace instead.
    Cheers, APC

  • Rollback segment for set transaction

    there is way that i can setup a rollback segment for a spacific user or specific transction.
    ALTER ROLLBACK SEGMENT big_rbs ONLINE;
    SET TRANSACTION USE ROLLBACK SEGMENT big_rbs;
    sql .....
    commit;
    ALTER ROLLBACK SEGMENT big_rbs OFFLINE;
    the sql is going for about hour, i was woundering during that time can some else use this rollback segment. i just want this rbs to this user, how i can do that.
    thanks

    I guess i didn't clearify well. let say i created a rbs for specific tranction. before this transaction is start it will turn on this rbs and once this transaction is completed, it issue the command commit, and bring it back to this rbs offline. the question is durning this transaction does any other transaction can come and use this rbs instead of we have lot of other rbs.
    I hope that you get my point.

  • TRANSACTION을 ROLLBACK SEGMENT에 할당하는 방법(SET TRANSACTION USE)

    제품 : ORACLE SERVER
    작성날짜 : 2003-04-04
    TRANSACTION을 ROLLBACK SEGMENT에 할당하는 방법
    ==============================================
    (SET TRANSACTION USE ROLLBACK SEGMENT)
    Purpose
    Batch job 등을 사용할 때 특별히 크게 만든 rollback segment를 사용하도록
    할 수가 있다. transaction에 특정한 rbs를 지정하는 방법을 알아보자.
    Explanation
    Oracle은 다음과 같은 규칙에 의해 각 Transaction이 사용하는 Rollback
    segment를 결정한다.
    1. Active Transaction의 수가 가장 작은 Rollback Segment에 할당한다.
    2. 만약 1의 조건에 만족하는 Rollback segment가 하나 이상이면, 가장
    마지막에 할당된 rbs 다음의 rbs를 할당한다. 이것은 undo 기능을 더
    오래 지속시키도록 해 준다.
    그러나, Application이 큰 rollback segment가 필요하다면 위와 같이
    자동적인 rollback segment의 할당이 아닌 Manual하게 특정 rollback
    segment를 할당 가능하다.
    다음의 방법을 사용한다.
    1) 큰 rollback segment를 만든다. 큰 rollback segment 를 만들기
    위해서는 rbs tablespace에 영역이 충분히 커야 하므로 필요할 경우
    tablespace를 확장하는 작업을 한다.
    <tablespace 확장>
    $ sqlplus system/manager
    sql> alter tablespace rbs add datafile '?/rbs1SID.dbf' size 100m;
    <rollback segment 생성>
    sql> create rollback segment big_rbs storage(initial 10m next 10m)
    tablespace rbs;
    sql> alter rollback segment big_rbs online;
    2) Transaction 를 assign 한다.
    <sqlplus>
    SQL> set transaction use rollback segment big_rbs;
    <pro*c>
    exec sql commit work;
    exec sql set transaction use rollback segment big_rbs;
    <forms>
    dbms_transaction.use_rollback_segment('big_rbs');
    이와 같이 지정하면 이후에 commit 또는 rollback이 일어날 때까지
    한 transaction에만 해당된다.

  • Set transaction use roll back segmet

    Hi all:
    I have lot of packages with the statement set transaction use roll back segment RBS_BIG.I am working on upgrade project and using undo tablespaces.
    Is there a quick way to grep the this statement from all the packages and remove off.Does the presence of this statement in packages of new database cause compilation errors ?
    Thanks,
    Ganesh

    Hi,
    Set init.ora parameter as follows and restart database. All SET TRANSACTION USE ROLLBACK SEGMENT statements will have no effect and ignored.
    UNDO_SUPPRESS_ERRORS=TRUE
    You may use ALTER SYSTEM rather than restart db. If your database use spfile.ora, you have to execute:
    ALTER SYSTEM SET UNDO_SUPPRESS_ERRORS=TRUE SCOPE=BOTH;
    Best regards,
    Dima

  • Set transaction use roll back

    Hi all:
    I have lot of packages with the statement set transaction use roll back segment RBS_BIG.I am working on upgrade project and using undo tablespaces.
    Is there a quick way to grep the this statement from all the packages and remove off.Does the presence of this statement in packages of new database cause compilation errors ?
    Thanks,
    Ganesh

    The set transaction use rollback segment <rbsegment> is ignored in 10g. In 9i databases this could cause errors when using automatic undo management. For your 9i databases you can suppress the errors by setting UNDO_SUPPRESS_ERRORS=true.

Maybe you are looking for