Subject Re: [firebird-support] table locked from excel?
Author Helen Borrie
At 11:22 AM 24/07/2012, crizz11 wrote:
>If I access a table in a firebird database from excel using ODBC is that table automatically in a locked state until i quit excel?

No. Firebird doesn't lock tables the way you are used to with Access, for example. Firebird employs what is known as "optimistic locking", whose exact behaviour is determined by the way the enclosing transaction is configured.

What you will have is a transaction started through the ODBC interface. The isolation level of that transaction determines how stable your application's view will remain throughout the transaction and the behaviour when two or more transactions want to modify the same row. SNAPSHOT isolation (which I think is the default for the Firebird ODBC driver) means that Excel continues to see the set as it was at the start of the transaction. READ COMMITTED isolation means that Excel can refresh the set to get an updated view of what other transactions have committed since its own transaction started.

If another transaction has a pending update on a row in the set that Excel is viewing, a lock conflict occurs and Excel won't be able to update that row. If Excel has an update pending on a row in that set, other transactions won't be able to update that row.