通过 JDBC 访问 Chrome 历史记录
我正在尝试通过 java 应用程序连接到 chrome 历史数据库(sqlite)并以只读模式运行一些查询。我正在使用 sqlite.jar 但当我连接时,出现以下错误: org.tmatesoft.sqljet.core.SqlJetException: BUSY: 错误代码为 BUSY 我知道有些应用程序可以访问该文件,而无需先复制它(例如 wxSQLitePlus)或确保浏览器没有使用该文件,他们是如何做到的? 多谢
I'm trying to connect to the chrome history database (sqlite) via a java application and run some queries in read only mode. I'm using sqlite.jar but when I connect, I get the following error:
org.tmatesoft.sqljet.core.SqlJetException: BUSY: error code is BUSY
I know some applications can access the file without copying it first (like wxSQLitePlus) or making sure the browser is not using the file, how do they do it?
Thanks a lot
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于 Chrome 正在使用“历史”文件(假设当您收到 BUSY 错误时 Chrome 正在运行),Chrome 目前对该文件持有“独占”锁定。在此期间,任何其他应用程序都无法访问同一文件。即使对于只读进程也是如此。
Since the "history" file is being used by Chrome (assuming Chrome was running when you got the BUSY error), Chrome currently holds a "EXCLUSIVE" lock on the file. During this, no other application can access the same file. Even for read-only process.