问题标签 [hsqldb]
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 - 找不到合适的驱动程序的原因
我正在尝试对我创建的 DAO 进行单元测试(JUnit)。我使用 Spring 作为我的框架,我的 DAO (JdbcPackageDAO) 扩展了 SimpleJdbcDaoSupport。测试类 (JdbcPackageDAOTest) 扩展了 AbstractTransactionalDataSourceSpringContextTests。我已经按如下方式覆盖了 configLocations:
我的 test-context.xml 文件定义如下:
我使用 HSQL 作为我的后端,它以独立模式运行。我选择的 IDE 是 eclipse。当我将课程作为 JUnit 测试运行时,这是我的错误(如下)。我不知道为什么会这样。根据 Eclipse,hsql.jar 在我的构建路径上。
logging - 100% 内存 HSQL 数据库
我有一个 Java 应用程序设置为服务,每隔几个小时对约 3GB 的数据进行数据挖掘。我希望这在内存中 100% 发生。理想情况下,我希望应用程序与一切隔离;我希望它构建数据库,进行我需要的挖掘,并在完成后拆除数据库。
然而,对于 HSQLDB,即使我使用“创建内存表....”命令,也会写入所有语句的日志,并在下次应用程序运行时重新创建表。
我做了很多插入,~150k+,所以这个文件的大小会很快增长。我也不关心在下次运行时重建数据库,所以日志记录对我来说毫无用处。
完成后我可以删除文件,但如果可能的话,我想避免将那么多内容写入磁盘。
有没有办法关闭这个功能?
提前致谢!
java - 在数据库中存储数组
在数据库中存储大型数组(10000x100)的最有效方法是什么,比如 hsqldb?我需要为我用 java 编写的某个数学程序执行此操作。请帮忙。将经常检索和存储整个数组(而不是单独的元素)。此外,需要存储有关数组的一些元数据。
java - hsqldb 中的连接池
在不影响速度的情况下,在 hsqldb 中实现连接池的最佳方法是什么?
java - SQL删除级联帮助(具体问题)
我在 HSQL 数据库中有两个具有多对多关系的表(为说明目的而重命名/重构)。当我从多对多关系的一侧删除时,我希望所有内容都被清除(不查询表;这对性能至关重要)
这是我的主要表格:
这是我的联接表:
这是我的限制:
我基本上想这样做:“从person_id = 0的人中删除”并让它从PERSON、JOB_PERSON和JOB中删除所有内容,如果JOB实体将被孤立(不再在多对多表中引用)
在不查询数据库的情况下这可能吗?当我删除时,它只会从 PERSON 和 JOB_PERSON 中删除。您可能会说,我缺乏 sql 技能。
这是我一直在玩的虚拟数据:
因此,如果我输入这两个语句:
我想删除所有 3 个表中的所有内容。可能的?
sql - SQL:复杂删除
我基本上创建了一些表来玩:我有两个主表和一个多对多连接表。这是 DDL:(我正在使用 HSQLDB)
我想创建一个删除语句,根据 PERSON.PERSON_ID 从 JOB 中删除孤儿(如果特定作业的连接表中只存在一个条目)。
在伪语言中:
其中 X 是一些 person_id。我尝试了很多不同的方法;我认为这是导致问题的“COUNT”部分。我是 SQL 菜鸟,所以任何帮助将不胜感激。
openoffice.org - OpenOffice 电子表格导入 HSQLDB
OpenOffice 附带 HSQLDB。是否可以轻松地将 OO 电子表格的内容导入内置数据库?一个额外的好处是包含单元格内容的格式。IE。颜色,换行符等。
这个问题没有答案,所以我提供赏金。请提供解决方案的代码。
提供的链接确实有效,不需要编码。总结一下:
- 创建并注册一个 Open Office DB。
1.1 看起来您可以注册任何拥有 JDBC 驱动程序的数据库。(即MySql,Postgres) - 在第 1 行中创建列标题。
- 选择数据并将其复制到剪贴板。
3.1 将选择限制为仅所需的行,因为当我选择所有行时 OO 崩溃。 - 转到数据库的表(表窗格)视图。
- 右键单击并粘贴您的数据。
- 按照打开的向导提供的说明进行操作。
java - 使用嵌入式 Java 数据库处理来自 Web 的 CSV 文件
简短版本:假设我不想长时间保留数据,如何在 HSQLDB 中以编程方式创建数据库并将一些 CSV 数据加载到其中?我的架构将与文件完全匹配,并且文件确实有足够的列名。
这是一个无人看管的过程。
细节:
我需要对通过网络下载的三个 CSV 文件应用一些简单的 SQL 技术,然后创建一些 DTO,然后我可以使用这些 DTO 与一些现有代码一起处理它们,并通过 REST 保存它们。我真的不想搞乱数据库,但 CSV 文件是通过外键链接的,所以我正在考虑使用内存中的嵌入式数据库来完成这项工作,然后把所有东西都扔掉。
我想到了一个像这样工作的命令行应用程序:
- 在 HSQLDB 中创建一个新的数据库。
- 使用 Apache HttpClient 在三个线程中启动三个 HTTP GET。
- 将 CSV 导入三个 HSQLDB MEMORY 表。
- 运行一些 SQL。
- 将结果解析为我现有的 DTO。
- ETC...
我可以使用对第 1 项和第 3 项有帮助的代码和实用程序的指针。还有我应该考虑的 HSQLDB 的替代方案吗?
sql - 如何在 CASE WHEN 语句中获取 HSQLDB 中超过 1000 个项目?
我在 Hypersonic DB (HSQLDB) 中运行以下查询:
当“WHEN”子句的数量超过大约 1000 条时,我会StackOverflowError
在org.hsqldb.jdbc.Util.sqlException()
.
这是真正奇怪的部分:我尝试CASE
用例如 100 个 WHEN 子句后跟ELSE ( CASE foo WHEN ... ) END
. 但是即使进行了这种重写,我也会得到完全相同的行为!
我在 HSQLDB 手册中没有看到任何对 1000 限制或任何其他内容的引用。帮助!
postgresql - 在视图上执行触发器?
我对数据库触发器和/或视图不太熟悉。我目前正在使用 PostgreSQL 和 HSQL;虽然数据库不是太重要。我只是想知道是否有任何数据库提供这样的东西:
我有一个像这样的(示例)表:
我创建了一个这样的视图:
我插入了几个实体:
所以当我打电话时,当然 DUMMY_VIEW 只包含 VALUES(1,10)
所以现在我要做的是向 DUMMY_VIEW 添加一个触发器,只要插入一个 NUMBER > 5 的实体就会调用该触发器。
我尝试将触发器直接添加到 HSQL 和 PostgreSQL 中的 DUMMY_VIEW;但他们说触发器不能添加到视图中。
这(或功能相似的解决方案)可能吗?