Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
hlbzhx
Posts: 19
Joined: Tue 03 Nov 2009 03:29

Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Post by hlbzhx » Wed 27 Mar 2013 11:11

Sqlite MultiThread Operate:

Main Thread Repeat Write Table, Anothre Thread Repeat Connection this DB of Sqlite.
v3.70.0.19 run without any error.
But version above for unidac v3.70.0.19 run have error! Show "Database is lock"

Version above for unidac v3.70.0.19 is All Exists this Bug, unidac v4.6.12 too.
3.70.0.19 is no problem!

say sorry for my pool english!


Sample of Sqlite_Bug_Test have Send to [email protected]

FileName: Sqlite_Bug_Test.rar.

Please Receive

Thanks

Test environment:
1. D7 + Unidac 3.70.0.19
2. D7 + Unidac 4.6.12

以下为中文描述: Chinese:
测试环境1: Delhpi7 + unidac 3.7.0.19
测试环境2: Delphi7 + unidac 4.6.12
代码完全一样

点击<开始测试>,即可进行测试
测试结果:

在环境 1 中进行测试,无任何错误。
在环境 2 中进行测试,频繁报'Database is Locked'错误

另:请检查一下是那里的问题,如果是Bug的话,请尽快修复。高于 unidac 3.7.0.19 版本都会发生此问题。

若修复后,可否提供一份最新的unidac,谢谢。之前也向贵公司提交了几个不容易测试到的Bug(可根据论坛ID查一下)。目前一直使用3.7.0.19版本中,版本有点低了,迫切希望能使用上比较稳定的版本。

我的Email: [email protected]

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Post by AlexP » Thu 28 Mar 2013 10:50

Hello,

Unfortunately, we received no your letter, please send it once more to alexp*devart*com


hlbzhx
Posts: 19
Joined: Tue 03 Nov 2009 03:29

Re: Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Post by hlbzhx » Fri 29 Mar 2013 00:20

I send email to [email protected] Again by email: [email protected]

Please receive, thanks...

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Post by AlexP » Fri 29 Mar 2013 14:30

hello,

Thank you, we have received your sample and reproduced the problem. We will inform you as soon as we have any results.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Post by AlexP » Tue 02 Apr 2013 13:25

Hello,

This problem is due to the fact that, when modifying a record, SQLite locks the whole database, and if at this moment another connection attempts to execute any operation with the DB, the correct "Database is lock" error occurs. In order to avoid this error, you have to execute operations from an additional thread in a Try..except block, and when this error occurs, repeat the last operation, that caused the error.

hlbzhx
Posts: 19
Joined: Tue 03 Nov 2009 03:29

Re: Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Post by hlbzhx » Wed 03 Apr 2013 00:15

AlexP wrote:Hello,

This problem is due to the fact that, when modifying a record, SQLite locks the whole database, and if at this moment another connection attempts to execute any operation with the DB, the correct "Database is lock" error occurs. In order to avoid this error, you have to execute operations from an additional thread in a Try..except block, and when this error occurs, repeat the last operation, that caused the error.

Why didn't this problem by version 3.7.0.19 ??? Operate is same, these two program.]

thanks...

hlbzhx
Posts: 19
Joined: Tue 03 Nov 2009 03:29

Re: Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Post by hlbzhx » Wed 03 Apr 2013 00:25

My program is run right by version 3.7.0.19... But this problem still exist above v3.7.0.19

add try..except stru, not is a good idea.

The most stable v3.7.0.19 version in my heart!

sorry for my english

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Bug? Sqlite_Database is lock! Version above for unidac v3.70.0.19 is All Exists this Bug

Post by AlexP » Fri 05 Apr 2013 09:02

Hello,

In the UniDAC version you have provided, different UniConnections used one and the same handle for work with the database, therefore this error didn't occur. But if you try working from different applications, you will get the same error in the old UniDAC version as well. In the new versions, due to support for the Direct mode for SQLite, each connection works via its own handle, and when the database is exclusively locked, this (correct) error appears.

Post Reply