Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5082983

Cachedrowset synchronization problems with sqlserver

XMLWordPrintable

    • Fix Understood
    • generic
    • generic

      I am filing this bug on behalf of user who mailed at ###@###.###


      Subject:
      Have troubles with the JDBC RowSet
      From:
      cenyongh <###@###.###>
      Date:
      Wed, 04 Aug 2004 11:11:09 +0800
      To:
      ###@###.###

      Hi,
          I have tried the api in the JDBC RowSet Co-Bundle for JWSDP 1.4. My DBServer is Microsoft SQLServer 2000,and use the jdbc driver with sp3 provided by microsoft. When I try the CachedRowSet's Update and Delete Function, it throws exception. My Update code segment is as follow:
         crs.absolute(3);
         crs.updateInt(2, 100);
         crs.updateRow();
         crs.moveToCurrentRow();
         crs.acceptChanges();
         crs.close();
      and the exception is:
       javax.sql.rowset.spi.SyncProviderException: X no of conflicts while synchronizing
       at com.sun.rowset.internal.CachedRowSetWriter.writeData(CachedRowSetWriter.java:371)
       at com.sun.rowset.CachedRowSetImpl.acceptChanges(CachedRowSetImpl.java:810)
       at rowset.CachedRowSetTest.update(CachedRowSetTest.java:66)
       at rowset.CachedRowSetTest.main(CachedRowSetTest.java:93)
       
       
      My Delete code segment is as follow:
         crs.last();
         crs.deleteRow();
         crs.acceptChanges();
         crs.close();
      and the exception is:
      java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
       at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
       at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
       at com.microsoft.jdbc.base.BaseConnection.getImplConnection(Unknown Source)
       at com.microsoft.jdbc.base.BaseStatement.setupImplConnection(Unknown Source)
       at com.microsoft.jdbc.base.BaseStatement.<init>(Unknown Source)
       at com.microsoft.jdbc.base.BasePreparedStatement.<init>(Unknown Source)
       at com.microsoft.jdbc.base.BaseConnection.prepareStatement(Unknown Source)
       at com.sun.rowset.internal.CachedRowSetWriter.deleteOriginalRow(CachedRowSetWriter.java:734)
       at com.sun.rowset.internal.CachedRowSetWriter.writeData(CachedRowSetWriter.java:301)
       at com.sun.rowset.CachedRowSetImpl.acceptChanges(CachedRowSetImpl.java:810)
       at rowset.CachedRowSetTest.delete(CachedRowSetTest.java:78)
       at rowset.CachedRowSetTest.main(CachedRowSetTest.java:94)
      javax.sql.rowset.spi.SyncProviderException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
       at com.sun.rowset.CachedRowSetImpl.acceptChanges(CachedRowSetImpl.java:837)
       at rowset.CachedRowSetTest.delete(CachedRowSetTest.java:78)
       at rowset.CachedRowSetTest.main(CachedRowSetTest.java:94)
       
      I have also tried the example in the JDBC RowSet Co-Bundle for JWSDP 1.4 package,and the similary exception was throw.

            Unassigned Unassigned
            ahandasunw Amit Handa (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Imported:
              Indexed: