Historia Chrome SQLite locked problem

0

Witam,

Mam problem tego typu, że chciałbym wyciągnąć niektóre informację z bazy danych historii przeglądania Chrome.

Używam dokładnie tego kodu, który jest poniżej i w trakcie pracy chrome wyświetlają się błędy o tym że baza jest zablokowana, a gdy wyłączę chrome, błędy przestają mieć miejsce. Wiem że jest to związane z tym że chrome aktualnie pracuje na bazie i blokuje możliwość wykonywania query na bazie, ale jakiego kodu użyć żeby otworzyć tylko do odczytu tą bazę.

String connString = @"Data Source=C:\Users\PiT\AppData\Local\Google\Chrome\User Data\Profile 1\History";
            using (SQLiteConnection conn = new SQLiteConnection(connString))
            {
                StringBuilder query = new StringBuilder();
                query.Append("SELECT * ");
                query.Append("FROM keyword_search_terms");
                using (SQLiteCommand cmd = new SQLiteCommand(query.ToString(), conn))
                {
                    conn.Open();
                    using (SQLiteDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            Console.WriteLine(dr.GetValue(0) + " " + dr.GetValue(1) + " " + dr.GetValue(2));
                        }
                    }
                }
            }  

Wiem że niektóre programy w jakiś sposób błąd blokowania bazy omijają, np. program chromehistoryview i ja coś takiego również potrzebuje.

0

Może dlatego że zjadłeś conn.Close() ? :P

0

Rzeczywiście zjadłem conn.Close(), ale nie w tym rzecz.

Używam w tej chwili: using System.Data.SQLite; może po prostu użyć jakieś innej biblioteki do obsługi SQLite?

Miałem na studiach bazy danych, więc znam podstawy teoretyczne, ale nigdy nie pisałem dla SQLite kodu, więc jakieś inne pomysły??

1

nie wiem czy to jest dobry pomysł, ale może zdumpujesz sobie tą baze?

0

Wypróbowałem rozwiązanie z dumpowaniem bazy i muszę przyznać że zadziałało dobrze :) choć nie mogę powiedzieć żeby to było ładne rozwiązanie. Ma ktoś jeszcze jakieś pomysły?

1 użytkowników online, w tym zalogowanych: 0, gości: 1