Re: [问题] windows form如何开启sqlite db档?

楼主: waiter337 (给开司一罐苏格登)   2022-01-20 11:38:48
不好意思 借原po的题目发挥一下
目前是写VB.NET
一样是用SQLite 我连到google chrome History
位置通常在
C:\Users\xxxxx\AppData\Local\Google\Chrome\User Data\Default\History
我遇到一个状况
当我OPEN完之后
reader = cmd.ExecuteReader
跑到上述这一行
就一直报错 而且一直报不停
https://imgur.com/a/ruR5ige
https://i.imgur.com/4KKbVqF.png
SQLite error (5): database is locked in "SELECT url from (SELECT * from urls
ORDER BY id DESC LIMIT 1 )"
原因:只要chrome 处在开启状态 这个就不会让我进去read
只要chrome关闭 就能正常读取到最后一个的网址
或者额外复制一个history出来处理也可以 不过速度就会变慢很多
尤其当history大到几mb的时候 会特别慢...
请问有没有什么方法可以绕过被其他程序开启的方式
或者请大大提供一些不同方向的意见
目前因为工作需求 我必须要获得history最后一个 网址
补充一点:
chrome 扩充工具有很多SQLite检视器 一样能够打开chrome history
上述就是在chrome开启时能够使用sqlite进去找的
但自己写一套reader = cmd.ExecuteReader
在chrome未关闭时 就被数据库lock挡下来
百思不解= =
作者: ssccg (23)   2022-01-20 13:31:00
SQLite不支援多process存取,一次只能一支程式开档案啊档案型DB通常都常都是这样,不然要怎么保证ACIDchrome扩充工具是跑在Chrome的process里面,当然不一样不然你也写Chrome扩充工具不就好了你的winform程式开个local server,扩充工具连上你的server有SQL要执行都丢给扩充工具去跑

Links booklink

Contact Us: admin [ a t ] ucptt.com