SQLite丢失了它的数据

时间:2015-05-16 04:33:11

标签: c# sqlite identity data-loss

我使用SQLite3.0数据库创建了.Net C#软件。 在软件中,每天几乎每分钟插入一次数据。 但非常罕见的时期(大约每月一次),它会丢失它从未有过的数据。

我的所有表都有标识列。 为了检查丢失,我在每个表中写入新行的插入时间。 当损失发生时,我观察到一小时的行丢失了。但是没有跳过身份值并继续进行。 我检查了我的交易,但他们没事。

程序启动时创建并打开了一个连接。 并且该连接在整个运行时使用而没有关闭并重新打开。在运行时,有许多db操作,例如insert,update,delete,select。

这可能是造成损失的原因吗? 我应该为每个数据库操作打开和关闭连接吗?

1 个答案:

答案 0 :(得分:0)

由于没有跳过您的唯一键,因此您更有可能不是写入数据库而不是丢失数据。 我从来没有遇到过长时间打开连接的问题(当然是本地的)。我会仔细检查写入数据库的内容。