无法从嵌入式 hsqldb 中获取现有 table
Can't get existing table from embedded hsqldb
为了使用嵌入式数据库,我通过 this tutorial 创建了与 java 连接的 hsqldb 数据库。
一般来说,它是关于通过 hsqldb 管理器创建具有 3 条记录的简单 table,并使用 java 连接到该数据库。
数据库已创建,退出管理器并再次连接后,我获得了 tables。它们被记录在 test.script 文件中。
如果我尝试通过
连接到java
connection = DriverManager.getConnection("jdbc:hsqldb:file:/db/test;ifexists=true", "SA", "");
然后我连接上了,可以通过
从中读取所有 tables
resultSet = statement.executeQuery("SELECT TABLE_NAME, COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, DECIMAL_DIGITS, IS_NULLABLE FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE TABLE_NAME NOT LIKE 'SYSTEM_%'");
但我无法在管理器中获取以前创建的 table,即使脚本文件包含 table。
创建table的这个片段放在test.script文件中:
CREATE MEMORY TABLE PUBLIC.SALARYDETAILS(EMPID VARCHAR(6) PRIMARY KEY,SALARY INTEGER NOT NULL,BONUS INTEGER NOT NULL,INCREMENT INTEGER NOT NULL)
我对 MEMORY 命令感到困惑,但也许这不是我应该修复的。删除后管理器再次添加它。
-----更新1 -----
SHUTDOWN 命令没有帮助。
我不知道 HSQLDB 是如何存储数据的,但认为当它们在脚本文件中时,它就完成了。
运行 Java 时命令行中出现异常
用户缺少权限或找不到对象
-----更新2 -----
我在 Java 中创建了一个 table 并将数据记录到其中,我可以获取这些数据,但在管理器中看不到。在我看来就像不同的数据库,但位置是一样的。
脚本文件不包含新的table和数据。我不知道数据存储在哪里。
数据库文件似乎没有保存。在退出管理器之前,执行此 SQL 命令:
SHUTDOWN
为了使用嵌入式数据库,我通过 this tutorial 创建了与 java 连接的 hsqldb 数据库。
一般来说,它是关于通过 hsqldb 管理器创建具有 3 条记录的简单 table,并使用 java 连接到该数据库。
数据库已创建,退出管理器并再次连接后,我获得了 tables。它们被记录在 test.script 文件中。
如果我尝试通过
连接到javaconnection = DriverManager.getConnection("jdbc:hsqldb:file:/db/test;ifexists=true", "SA", "");
然后我连接上了,可以通过
从中读取所有 tablesresultSet = statement.executeQuery("SELECT TABLE_NAME, COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, DECIMAL_DIGITS, IS_NULLABLE FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE TABLE_NAME NOT LIKE 'SYSTEM_%'");
但我无法在管理器中获取以前创建的 table,即使脚本文件包含 table。
创建table的这个片段放在test.script文件中:
CREATE MEMORY TABLE PUBLIC.SALARYDETAILS(EMPID VARCHAR(6) PRIMARY KEY,SALARY INTEGER NOT NULL,BONUS INTEGER NOT NULL,INCREMENT INTEGER NOT NULL)
我对 MEMORY 命令感到困惑,但也许这不是我应该修复的。删除后管理器再次添加它。
-----更新1 -----
SHUTDOWN 命令没有帮助。 我不知道 HSQLDB 是如何存储数据的,但认为当它们在脚本文件中时,它就完成了。
运行 Java 时命令行中出现异常 用户缺少权限或找不到对象
-----更新2 -----
我在 Java 中创建了一个 table 并将数据记录到其中,我可以获取这些数据,但在管理器中看不到。在我看来就像不同的数据库,但位置是一样的。
脚本文件不包含新的table和数据。我不知道数据存储在哪里。
数据库文件似乎没有保存。在退出管理器之前,执行此 SQL 命令:
SHUTDOWN