Re: [問題] windows form如何開啟sqlite db檔?

看板C_Sharp (C#)作者 (給開司一罐蘇格登)時間2年前 (2022/01/20 11:38), 2年前編輯推噓0(006)
留言6則, 1人參與, 2年前最新討論串3/3 (看更多)
不好意思 借原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

01/20 13:31, 2年前 , 1F
SQLite不支援多process存取,一次只能一支程式開檔案啊
01/20 13:31, 1F

01/20 13:32, 2年前 , 2F
檔案型DB通常都常都是這樣,不然要怎麼保證ACID
01/20 13:32, 2F

01/20 13:33, 2年前 , 3F
chrome擴充工具是跑在Chrome的process裡面,當然不一樣
01/20 13:33, 3F

01/20 13:33, 2年前 , 4F
不然你也寫Chrome擴充工具不就好了
01/20 13:33, 4F

01/20 13:34, 2年前 , 5F
你的winform程式開個local server,擴充工具連上你的server
01/20 13:34, 5F

01/20 13:34, 2年前 , 6F
有SQL要執行都丟給擴充工具去跑
01/20 13:34, 6F
感謝大大解惑 ※ 編輯: waiter337 (111.242.188.231 臺灣), 01/20/2022 13:52:24
文章代碼(AID): #1XwDbAev (C_Sharp)
文章代碼(AID): #1XwDbAev (C_Sharp)