Concurrency violation when updating SQLite database using DevArt ODBC Driver
Hi,
I'm trying to debug errors produced when updating an SQLite database using the DevArt ODBC Driver from a Win32 application. I'm using COM/MSADO in C++ to interface with the Microsoft OLE DB Provider for ODBC Drivers, which in turn uses the DevArt driver.
I can read the database no problem. I open an ADO Connection to the database using the adOpenKeyset and adLockOptimistic flags and get an ADO Recordset pointer at the end. When I try to modify one of the columns and call Recordset.Update(), my code throws a COM error:
DB_E_CONCURRENCYVIOLATION Rowset used optimistic concurrency and the value of a column has changed since it was last read.
I've tried changing how I connect to the database using the adLockPessimistic flag, but that didn't work.
I'm not that familiar with SQLite so I'm wondering if it's a property of the DB itself that's causing the issue. I viewed the DB using DB Browser for SQLite and DBeaver but nothing stood out.
My connection string is Provider=MSDASQL.1;Persist Security Info=False;Data Source=SQLite;Extended Properties="DSN=SQLite;Database=D:\MyDatabase.db;Locking Mode=Exclusive;Synchronous=Off
Any help appreciated,
Thanks