【问题标题】:How to update the version of a Derby database如何更新 Derby 数据库的版本
【发布时间】:2015-05-06 03:00:32
【问题描述】:

在尝试使用布尔字段创建表时,我遇到了一个 Derby 错误,提示我将数据库版本从 10.3 更新到 10.7。我发现这个问题显然包含解决方案:

Tables for entities with boolean fields not created

但我在 syscs_util 数据库中看不到 syscs_get_database_property 过程。我快速浏览了 Derby 文档,但没有在其中找到任何对“更新”或“版本”的引用。

我不能/不想重命名/丢失数据库只是为了更新数据库,就像其他线程建议解决问题一样;另外,我不使用 JPA 来创建模式。有什么方法可以实际更新数据库(无论这意味着什么)?我在 NetBeans 中使用最新的 Java SE 8 Java DB/Derby JAR,定义为在我的桌面应用程序中使用的库,刚刚从 Java SE 7 更改。

TIA

【问题讨论】:

  • 尝试使用UPDATE语句。
  • 您必须安装新版本。 @user1929959 请在回答之前阅读问题。

标签: java database derby javadb


【解决方案1】:

要将您的数据库升级到较新的版本,请遵循此处的文档:http://db.apache.org/derby/docs/10.11/devguide/cdevupgrades.html

【讨论】:

  • 非常感谢。由于两件事,我未能在文档中找到此内容: * 我正在搜索“更新”,而不是“升级”。 * 我在服务器和管理指南、工具和实用程序指南和参考手册中进行了搜索,但我跳过了开发人员指南。我从 Netbeans 执行升级的方式是在“服务”窗口中将值为“true”的属性“升级”添加到数据库连接。
  • 只是一个友好的提示,因为我已经为此浪费了一个小时。在成功将数据库升级到 JDK 1.8.0_31-b13 (Derby 10.10.1.3) 附带的 JavaDB 版本后,我的应用程序拒绝在 NetBeans 中运行。相反,我得到一个版本不匹配异常,说数据库是使用 Derby 10.10 创建/更新的。我重新检查了 NetBeans 中的工具 -> 库,只是为了确认 JAVADB_DRIVER_LABEL 库指向更新的 JDK 1.8 目录(因此,Derby 10.10 JAR)。最后,我不得不从项目中删除该库并将其重新导入以刷新它。
【解决方案2】:

在你的数据库 url 中添加这个字符串

private static final String DB_URL = "jdbc:derby:mydatabase;upgrade=true";

第一次运行..不会再报错..

把它换回原来的字符串

private static final String DB_URL = "jdbc:derby:mydatabase;create=true";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 2018-07-17
    相关资源
    最近更新 更多