问题标签 [h2db]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - H2 数据库无法在 Linux 上运行
我在NetBeans上使用Maven将H2 数据库导入我的项目,并使用以下代码进行初始化。一个简单的嵌入式数据库:
当我在我的 Windows 机器(我在其中进行编程)上运行代码时,它运行良好,我可以创建表和行。但是当我在我的 Linux 机器上运行相同的 JAR 文件时,我收到以下错误:
错误代码:90020 消息:数据库可能已在使用中:null。可能的解决方案:关闭所有其他连接;使用服务器模式[90020-194] 原因:java.lang.IllegalStateException:文件被锁定:nio:/root/MCUsers.mv.db [1.4.194/7]
- 相同的 JAR 在我的 Windows 机器上运行没有问题。
- 我的 Linux 机器上没有运行其他 Java 程序。
- 我已经尝试重新启动系统 - 没有用。
- 出现此错误后,仅在根目录中创建文件 MCUsers.mv.db 和 MCUsers.trace.db。
- 我的 Linux 机器使用 JRE1.8.0_112 来执行 JAR 文件。
编辑: 添加“FILE_LOCK=NO;” 也没有工作。
database - 插入的记录在数据库中提交而无需手动提交
我已经创建了一个数据库事务,并且正在将记录插入Table1
DB H2
。但尚未完成任何提交。在此过程之间,在执行了一半的记录后,我执行了一条create
语句(创建了 Table2)。
Table2
被创建并且与它一起,以前INSERT
的语句也被提交到数据库中。
在此之后,我将在 中插入更多记录Table1
,如果插入失败,我仍然会在 Table1 中看到在create
for 语句之前插入的记录Table2
。
因此,即使在事务失败后,我也会在 DB 中看到一些记录。我期待数据库中的零记录。
为什么会这样?
spring-mvc - Spring boot + gradle - H2 db 无法访问,出现 404 错误
我的 H2 Web 界面无法访问。虽然 Java 代码可以获取数据,但 Web 界面无法连接到它。这在我重新启动系统后开始发生。
Gradle 文件:build.gradle:-
sql - INSERT INTO table SELECT 不适用于 H2 DB 中的常量值
以下是 H2DB 查询
我想要实现的是在用户表中为具有给定电子邮件地址的用户的用户权限中插入一条记录,对于权限表中的每个权限。
以下是错误
相同的查询在 MySQL 中工作。
java - 优化查询而不是使用偏移量、限制和排序依据
我是java新手,我面临一个小问题。实际上,我正在从包含 7345987 条记录的表中提取数据并将它们显示到jtable
. 到现在为止,我已经通过使用Limit
and成功完成了offset
。
我的查询是:
我已将第 1 页设置recordPerPage
为 100000 和offset
0,对于第 2 页,我将其offset
增加到 100001,依此类推....
但我想order by
按列得到结果DATETIME
。当我尝试order by
在我的查询中使用之前limit and offset
。它需要大量时间,因为首先它order by
是整个表,然后适用limit and offset
于从页面到页面的每次迭代。
但我在这里想要的是它应该使用 order by 一次,然后对该结果集应用限制和偏移量。这种情况有什么解决方案吗?
这是我理解我在做什么的完整代码。
query-optimization - sql中的两个子查询
我正在开发一个应用程序,我必须从DATETIME
Column 检索最小和最大日期,然后将最小值和最大值设置为 JSlider。
我的日期格式存在于数据库中:2017-06-22T03:16:26Z
但我只想要两种格式的日期20170622031626
和20170622
我尝试了一些 sql 查询,但没有得到所需的结果。
这是我正在使用的两个查询:
输出:20170501T00:00:00Z
输出:20170501000000
第二个查询给出了所需的结果之一,但我怎样才能只得到20170501
?
知道如何才能达到所需的结果吗?
sql - 仅返回表中的重复值
我是 sql 新手,我遇到了一个问题。我有一个通话记录表,其中包含两列Anumber
和Bnumber
. 如果有任何号码呼叫,则会在表格中添加一个新行,其中 Anumber 为 Source,Bnumber 为 Destination。
我已经给出了两个 Anumber 值(3217913664,3006307180)
现在我必须从 Bnumber 中找到所有值(由 Anumber 调用)
假设我的桌子是:
现在我想value(3212026005 and 3212026009)
从 Bnumber 中提取,因为这两个数字都是由给定的数字调用的。所以我基本上只需要提取那些被所有给定号码调用的号码。
我的英语不太好,但我想我解释了我的问题。知道如何实现这种情况吗?
java - 如何在内存数据库的 H2 中创建 STUFF 函数?
如何在内存数据库的 H2 中创建 STUFF 函数?这是为 DAO 函数编写 Junit 所必需的,该函数使用具有“STUFF”函数的查询来查询 MS SQL 数据库。
我尝试扩展 H2Dialect 但不确定如何在 H2 中注册此功能。
请建议
java - 如何在 Spring Boot 应用程序中和使用 flyway 启动 H2 db TCP 服务器
我将 Spring Boot 和 H2 db 与 Flyway 一起使用,我想在我的应用程序启动时启动 H2 db tcp 服务器(用 Spring Boot 编写)。
所以我有这样的application.properties文件。
而且我还有以下用于 h2 db 服务器的配置类。
但是当我运行应用程序时它会失败并出现异常
似乎 flyway 甚至在 H2 的 TCP 服务器被实例化之前就尝试应用迁移。所以问题是如何推迟飞行路线迁移,直到数据库服务器启动?
spring-boot - H2DB 的默认网址和凭据?
我在我的 springBoot 应用程序中添加了 H2DB 以进行单元测试。
在 application-test.properties 我刚刚添加:
spring.datasource.name = h2db
spring.h2.console.enabled = true
它工作正常,保存值。
但它是如何工作的,我如何浏览这个数据库?