none
Issues with Microsoft.ACE.OLEDB.12.0 versus Microsoft.Jet.OLEDB.4.0 RRS feed

  • Question

  • Greetings

    I have a VB 2010 applilcation that uses MS Access as the back end database.  I use datasets to and tableadapters to interface with the database.  The application was developed using the Access 2003 BD format with the Microsoft.Jet.OLEDB.4.0 dataprovider.  I am now trying to upgrade to the access 2007 DB format.  I have have converted the database and loaded Microsoft.ACE.OLEDB.12.0 in my connections string.  The application works fine filling the tables with the adapters but when I go to update the tables I now get a "Concurrency violation: the UpdateCommand affected 0 of the expected 1 records."   in places I never used to.  The only change was to the database from 2003 format to 2007 format and the connection string from including Microsoft.Jet.OLEDB.4.0 as the provider to Microsoft.ACE.OLEDB.12.0 as the provider.  My question is what changed in the adapter logic to caust this problem.

    Floyd....

    Friday, June 29, 2012 3:01 PM

Answers

  • Hi Floyd Romanik,

    Welcome to MSDN Forum.

    I suggest you to use SQL Server Profiler to track the generated update T-SQL, then executing the T-SQL in the SQL Server Management Studio directly to check whether it works. Based on the actual T-SQL, you can find the root cause of this exception.

    Best Regards


    Allen Li [MSFT]
    MSDN Community Support | Feedback to us

    Sunday, July 1, 2012 9:08 AM
    Moderator

All replies

  • Hi Floyd Romanik,

    Welcome to MSDN Forum.

    I suggest you to use SQL Server Profiler to track the generated update T-SQL, then executing the T-SQL in the SQL Server Management Studio directly to check whether it works. Based on the actual T-SQL, you can find the root cause of this exception.

    Best Regards


    Allen Li [MSFT]
    MSDN Community Support | Feedback to us

    Sunday, July 1, 2012 9:08 AM
    Moderator
  • Unfortunately, I do not have any experience with SQL server and do not have SQL loaded on my machine. 

    There has to be some bug in the adapter logic somewhere.  I set the adapter flag to

    .Adapter.ContinueUpdateOnError = True. This appears to have solved the problem temporarily.  However, long term I am now masking any other legitimate errors which is not great.  Could someone please look into why this is occurring?

    Monday, October 1, 2012 12:00 PM
  • I just ran another experiment.  I am back to using the MS Access 2003 formatted data base.  Now the only variable is using the Microsoft.Jet.OLEDB.4.0 as the provides in the connection string or Microsoft.ACE.OLEDB.12.0.

    The jet.4.0 works the ace.12.0 fails on update.  It has got to be a Microsoft Bug.


    Monday, October 1, 2012 1:40 PM