看板 C_Sharp 關於我們 聯絡資訊
不好意思 借原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擋下來 百思不解= = -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.242.188.231 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1642649930.A.A39.html ※ 編輯: waiter337 (111.242.188.231 臺灣), 01/20/2022 12:16:43
ssccg: SQLite不支援多process存取,一次只能一支程式開檔案啊 01/20 13:31
ssccg: 檔案型DB通常都常都是這樣,不然要怎麼保證ACID 01/20 13:32
ssccg: chrome擴充工具是跑在Chrome的process裡面,當然不一樣 01/20 13:33
ssccg: 不然你也寫Chrome擴充工具不就好了 01/20 13:33
ssccg: 你的winform程式開個local server,擴充工具連上你的server 01/20 13:34
ssccg: 有SQL要執行都丟給擴充工具去跑 01/20 13:34
感謝大大解惑 ※ 編輯: waiter337 (111.242.188.231 臺灣), 01/20/2022 13:52:24