尝试写入只读数据库经过20分钟的重复查询
本文关键字:20分钟 查询 经过 数据库 只读 | 更新日期: 2023-09-27 18:00:00
我的应用程序每3秒对SQLite
数据库进行一次查询,但大约20分钟后,在执行命令时,它抛出异常"Attempt to write a readonly database"
。我只需要阅读数据库。
进口:
using System.Data.Sqlite;
这是我的连接字符串:
sqlite_conn = new SQLiteConnection("Data Source=Patch_here;Version=3;Compress=True;Read Only=True"
这是抛出excepcion的方法。此方法每3秒执行一次:
Double fecha = 0;
try
{
sqlite_cmd = new SQLiteCommand(sqlite_conn);
sqlite_cmd.CommandText = "SELECT MAX(timestamp) FROM Messages";
//HERE throws the exception, when executes the command.
fecha = Double.Parse(sqlite_cmd.ExecuteScalar().ToString());
sqlite_cmd.Dispose();
}
catch (Exception ex)
{
informarError(ex.Message);
}
return timestamp_To_Datetime(fecha);
此外,-我的用户拥有此数据库的所有权限。-我的SQLiteConnection只为所有查询打开一次。
我能做什么?谢谢
(我知道,这太旧了。也许这对另一个人有帮助。)
我也遇到了类似的问题:数据库处于(写)负载下(用C/C++程序填充)。同时,C#程序周期性地发送一个选择计数(*)。有时(非常罕见),除了提到的错误。
我通过从连接字符串中删除"只读=真"来"解决"这个问题。