Hello,
When i update a record with "update pub.mytable set myfirstcolumn = 123 where pub.mytable.mysecondcolumn = 58945"
The error is "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Failure getting table lock on table PUB.mytable."
Other users are connected to this table with ABL and lock many records but not the one i want to update.
Why ODBC need to lock the entiere table for update a single record ?
Can i only lock the record and not the table ???
(sorry for mistakes, English is not my native language)
Odbc connection on Windows, driver pgoe1024.dll
Isolation level: serializable
Openedge 10.2B05.
Hello,
I believe it's your isolation level - you have the highest level set (serializable) and this will inevitably lead to many record locks to prevent dirty reads, etc. For more information, please review to the SQL Development manual:
documentation.progress.com/.../dmsdv.pdf
Try with Read Committed instead.
Kind regards,
Rob
Hello,
I believe it's your isolation level - you have the highest level set (serializable) and this will inevitably lead to many record locks to prevent dirty reads, etc. For more information, please review to the SQL Development manual:
documentation.progress.com/.../dmsdv.pdf
Try with Read Committed instead.
Kind regards,
Rob
ok, I read pages 122-127.
I thought that the three isolation levels "read" did not allow updates, but in fact it relates only to the level "read uncommitted".
It seems to work well with the "read committed" level, I'll try it in production.
Thank you !