我正在编写一个小型库,它所做的就是打开与应用程序附近的本地SqliteDb的连接,并根据搜索查询从数据库中读取。
使用此库的人不需要访问插入或更新任何记录,但可以从我这里更新。
创建一个数据库我使用它:
SqlConnection = new SQLiteConnection("Data Source=Languages.db;Version=3;New=True;Compress=True");
比访问数据库New=False
现在我使用Firefox Sqlite Manager来修改表格,例如创建结构和添加值。
但是当我用firefox保存文件时,我在C#上收到错误,说明当我尝试打开连接时它被写/读保护!!
编辑:我也尝试使用Sqlite浏览器:http://sqlitebrowser.org
然后我得到了不支持的文件格式!
我错过了什么吗?
此致
答案 0 :(得分:1)
FireFox SQL Lite Manager在打开时会限制其他应用程序与SQL Lite数据库建立连接。如果关闭FireFox管理器,您的C#代码将正确执行。
您可以参考此答案,了解Firefox Firefox locks places.sqlite
应用的锁定的性质答案 1 :(得分:0)
我注意到在创建表或以某种方式从SQL管理器gui更改表时,gui本身会创建一些驱动程序无法读取的头/元数据,因此它将其标记为已损坏。
要解决这个问题,我所要做的就是创建表并根据需要直接从我的应用程序进行更改,而不是使用firefox管理器添加记录,它似乎正常工作!
如果我错了,请纠正我!