Java中从磁盘备份和恢复sqlite到内存

2023-11-22

我正在尝试将 sqlite 文件读入内存以获得更好的性能,当关闭我的应用程序时,我想将其写回硬盘。

我正在使用jdbc(3.7.2) Java 驱动程序。

根据文档,我的代码看起来像

this._conn = DriverManager.getConnection("jdbc:sqlite:");
Statement stat  = this._conn.createStatement();
File dbFile = new File(this._config.GetDataBaseFile());
if (dbFile.exists()) {
    this._logger.AddInfo("File exists.");
    stat.executeUpdate("restore from " + dbFile.getAbsolutePath());
}

该文件存在(并且它是一个有效的 sqlite 数据库),this._conn是打开的,但是如果我想在上面执行语句,看起来里面没有表,也没有数据。似乎并不能恢复任何东西。

关于如何进一步解决/调试这个问题有什么建议吗?

(顺便说一句 - 如果我使用stat.executeUpdate("backup to test.db")在我的连接上,它备份我的空:内存:数据库...)


看起来你错过了两件事:

  1. 文件名周围的引号。
  2. stat.close.

请尝试以下操作:

this._conn = DriverManager.getConnection("jdbc:sqlite:");
Statement stat  = this._conn.createStatement();
File dbFile = new File(this._config.GetDataBaseFile());
if (dbFile.exists()) {
    this._logger.AddInfo("File exists.");
    stat.executeUpdate("restore from '" + dbFile.getAbsolutePath() + "'");
    stat.close();
}

这是我可以让它与 Xerial SQLite JDBC 版本 3.7.15-M1 一起使用的唯一方法。我认为在这种情况下版本并不重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中从磁盘备份和恢复sqlite到内存 的相关文章

  • sqlite 列名称引用(功能或错误)

    我遇到了一些对我来说看起来很奇怪的东西 但可能是我滥用了 sqlite3 create table t v 0 text insert into t values aa select from t v aa pragma table inf
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]-MySQL

    我是 Hibernate 的新手 我目前正在使用 Spring boot 框架并尝试通过 hibernate 创建数据库表 我知道以前也问过同样的问题 但我似乎无法根据我的环境找出如何修复错误 休眠配置文件
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 如何访问JAR文件中的Maven资源? [复制]

    这个问题在这里已经有答案了 我有一个使用 Maven 构建的 Java 应用程序 我有一个资源文件夹com pkg resources 我需要从中访问文件 例如directory txt 我一直在查看各种教程和其他答案 但似乎没有一个对我有
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • 检查 Selenium Java 中的元素是否可点击

    我是新来的Selenium并需要检查元素是否可点击Selenium Java since element click 两者都传递link and label 我尝试使用以下代码 但它不起作用 WebDriverWait wait new W
  • 如果有空格,为什么现代浏览器仍然在内联块之间放置空格

    如果您有这样的标记 div class inlineblock one div div class inlineblock two div div class inlineblock three div 和CSS像这样 inlinebloc
  • Jetty 9.0 嵌入和 RestEasy 3.0 不断抛出 NoSuchMethodError

    今天 我想到构建一个非常简单的 Web 应用程序 该应用程序由 REST 后端提供支持 因为我想要一个非常轻量级的服务器 所以我开始考虑 Jetty 由于我想尝试 Jersey 之外的另一种 JAX RS 实现 所以我查看了 RestEas
  • 在 flutter 插件中获取 Activity 参考

    当我创建flutter插件时 插件类中默认有两个方法 override fun onAttachedToEngine flutterPluginBinding FlutterPlugin FlutterPluginBinding and f
  • 在python中逐行复制文件

    我正在编写一个 python 程序来将文件逐行复制到新文件中 我的代码如下 其中我使用循环逐行复制文件 然而 由于文件中的行数可能会改变 有没有一种方法可以在 python 中逐行复制文件 而不使用依赖于数字的循环 而是依赖于 EOF 字符
  • WPF 中的多种变换效果

    我需要在 WPF 中通过 C 应用多重变换效果 我尝试了下面的代码 但我只看到最后一个效果 而不是两者一起 如果可以的话有什么线索吗 XAML
  • android 解析 .local (mDNS)

    我正在寻找一种使用 Android 4 0 4 解析 local 主机名的解决方案 由于 API 级别 15 没有 NSD 在设备上 我没有任何服务可供发现 只有主机名 您能提供一个如何解决的例子吗 我集成了 jmDNS 但不知道如何用于主
  • 如何将类数组应用于classList.contains?

    在我的 HTML 中 我有一个div像这样 div class a b c div 在我的 JavaScript 中 我有一系列我感兴趣的类 var goodClasses a c 在好的浏览器中 我可以使用很棒的classList功能来测
  • 在 FastAPI 中使用 `async def` 与 `def` 并测试阻塞调用 [重复]

    这个问题在这里已经有答案了 tl dr 以下哪个选项是正确的工作流程fastapi 如何以编程方式测试调用是否真正被阻止 而不是从浏览器手动测试 有没有压力测试延伸至uvicorn or fastapi 我有多个端点fastapi服务器 使
  • 使用 Python 2.7.x 连接到 Google Analytics 时出现 403 错误

    我尝试使用 Python 客户端 google api python client 从 Google Analytics API 获取数据 这是我使用的代码 from apiclient import discovery from oaut
  • jquery ui autocomplete _renderItem 似乎干扰 select 事件

    如果我使用 renderItem 我的选择事件将不起作用 如果我注释掉调用 renderItem 的最后一个代码块 则 select 事件将起作用 当我使用 renderItem 时 选择事件根本不会触发 var cache lastXhr
  • 删除一个数组中位于另一个数组中的项目

    我被我的剧本困住了 我需要比较两个数组 一个是查询的结果 另一个是文件的内容 Array1 Invoke Sqlcmd Query select name from person Array2 Get Content Myfile txt
  • 从“对等方重置连接”中恢复 Indy TCP 客户端

    在这种情况下我应该如何恢复 服务器崩溃 连接异常关闭 对几乎所有内容的调用都会导致 对等方重置连接 异常 我似乎已经通过在 except 块内的 TIdTCPClient 对象上调用 Disconnect 来修复它 但它会导致一个带有相同消
  • 如何检查辅助服务是否崩溃(Android Pie 现在在设置中显示此信息)?

    我现在发现安卓9了如果辅助功能服务停止工作 则显示信息 对于尝试利用辅助功能 API 的开发人员来说 这始终是一个痛苦 辅助功能看起来已启用 但服务已停止 为了让它恢复工作 需要关闭然后重新打开辅助功能 如果谷歌完全修复了这个问题 我会很高
  • AVRO 中的数据验证

    我是 AVRO 新手 如果这是一个简单的问题 请原谅 我有一个使用 AVRO 模式进行记录调用的用例 假设我有 avro 架构 name abc namepsace xyz type record fields name CustId ty
  • 既然他们停止为 Eclipse 开发 derby 插件,是否可以在 Eclipse 中使用 apache 的 derby ?

    我想使用 apache 中的 Derby 以便在我当前正在开发的桌面应用程序上包含数据库管理 不幸的是 我发现他们已经停止开发这个插件 并且我在网上阅读的所有教程都引用了这个插件 所以我的问题是 如何在 eclipse 上使用最新版本的 D
  • Jenkinsfile 中的故障后块不起作用

    我正在尝试使用并行步骤进行失败后操作 但它永远不会起作用 这是我的 Jenkins 文件 pipeline agent any stages stage test steps withMaven maven maven3 Maven ins
  • 如何在 LLDB 断点条件下使用堆栈内容?

    问题 我遇到过这样一种情况 我们在启动期间进行媒体播放 并且 objc exception throw 在此期间点击了大约 5 次 但总是被捕获 并且它是way媒体播放器对象的南边 我厌倦了 a 必须手动继续 n 次 或 b 必须禁用断点直
  • 将 Textview 添加到 FrameLayout 的确定位置

    我正在尝试添加一个textView to a frameLayout The TextView has wrap content属性 因此它会随着文本的增长而增长 我将其添加到FrameLayout有了这个功能 FrameLayout fi
  • Java中从磁盘备份和恢复sqlite到内存

    我正在尝试将 sqlite 文件读入内存以获得更好的性能 当关闭我的应用程序时 我想将其写回硬盘 我正在使用jdbc 3 7 2 Java 驱动程序 根据文档 我的代码看起来像 this conn DriverManager getConn