SVN報錯:sqlite[S5]:database is locked


  昨天下午修改幾個沖突的jar包后提交svn后報錯,接下來svn操作就失靈了,無論是clean up還是revert還是release lock都無濟於事。解決辦法:

  首先下載sqlite3,我的是64位win7,無需去官網下載安裝,直接下載sqlite3.exe即可,下載鏈接為http://download.csdn.net/detail/whyzzj/6346529。sqlite3.exe需要放到wc.db的同一目錄才能用,這一點要注意。比如我的工程app_engine放在E盤的workspace里,而wc.db文件在appengine/.svn里(這里svn是隱藏目錄,需要先取消隱藏才能看到),那么把sqlite3.exe放到.svn里。

  先看下sqlite數據庫里有沒有待處理的任務:

E:\workspace\app_engine\.svn>sqlite3 wc.db
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from work_queue;
sqlite>

  上面這里看是沒有,有的話刪掉並退出:

sqlite> delete from work_queue;
sqlite> .quit

E:\workspace\app_engine\.svn>

  這時再重新操作svn看看,如果還不行,那么需要重新生成wc.db

E:\workspace\app_engine\.svn>move wc.db wc.db.old
E:\workspace\app_engine\.svn>sqlite3 wc.db.old
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .backup main wc.db
sqlite> .exit

E:\workspace\app_engine\.svn>

  這里先把原來的wc.db重命名為wc.db.old,然后進入wc.db.old數據庫執行備份,備份文件名為wc.db,然后退出數據庫。這會兒再執行svn的update看看,應該不會再鎖數據庫了。如果還不行,那么我只能很遺憾的告訴你,我也沒轍了。

  發生這種問題的原因往往是Eclipse的SVN和本地TortoiseSVN沖突了,比如你開着Eclipse時又用TortoiseSVN更新並有文件沖突,這是冒出這個報錯信息后先把Eclipse關了,用TortoiseSVN先clean再update一下,不行再用上面的方法。記得先關Eclipse。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM