我有一个H2数据库,可以在其中运行某些查询,而另一些则抛出ArrayIndexOutOfBoundsException
。
例如:
SELECT COLUMN_1 FROM MY_TABLE; // works fine
SELECT COUNT(COLUMN_1) FROM MY_TABLE; // gives following error message:
[Error Code: 50000, SQL State: HY000]
General error: "java.lang.ArrayIndexOutOfBoundsException";
SQL statement: SELECT COUNT(COLUMN_1) FROM MY_TABLE [50000-167]
产生此错误消息的原因是什么?
该错误信息的原因是 数据库损坏。
我通过使用H2恢复工具解决了该问题。 步骤如下:
创建恢复脚本
C:\PATH_TO_CORRUPT_DB>java -cp C:\PATH_TO_MY_H2\h2.jar org.h2.tools.Recover
删除旧的db文件(当然,首先要制作备份副本;-)
重新创建数据库
C:\PATH_TO_CORRUPT_DB>java -cp C:\PATH_TO_MY_H2\h2.jar org.h2.tools.RunScript -url jdbc:h2:PATH_TO_CORRUPT_DB\NAME_OF_DB -script NAME_OF_SCRIPT_FROM_STEP_ONE.sql
在这里,您可以找到有关H2恢复工具的更详细的使用说明
目前正在android studio中用java进行一个项目,我正在尝试用sql查询两个表。各表如下: 预订表 User_Bookings表 用户表仅供参考 有没有一种方法可以使用UNION或INNER JOIN并仅使用用户ID连接这两个表? 例如,对于ID为2的用户,我希望从预订表中获得出发时间 还是UNION/INNER JOIN不是我试图实现的目标的正确运算符?正如我一直在尝试和复习我的SQ
我已经建立了一个Access数据库,现在我正试图从SQL数据库将数据导入Access数据库表。Access数据库表现在是空的,我正试图从SQL数据库导入数据,只有一个键值。例如,我只想导入符合以下条件的数据。 我已经设置了到表的ODBC链接。我一直在寻找这样做的方法,但没有找到任何好的方法。 使现代化 找到了答案,对于任何需要知道如何做到这一点的人,以下是步骤。
问题内容: 我需要类似的东西 但是,在H2中不起作用。请指教。 问题答案: 使用 CURRENT_TIMESTAMP
我正在尝试运行检查数据库并获得连接不存在错误!我在MySQL中有一个名为myapp的数据库以及其他数据库。 这是我的settings.py 项目结构: 这就是发生的情况: root @ IP-10-202-209-99:~/Desktop/my site # python manage.py inspectdb-database myapp trace back(最近一次调用last):< br
问题内容: 我正在尝试调整SQL查询以检查服务器上每个数据库中存在的特定字段中存在的值。 有100个单独的数据库,我想检查每个数据库的特定记录。 答案可能是使用下面的命令,但是我很难适应它。 我在下面的链接上获得了更大的成功; https://stackoverflow.com/a/18462734/3461845 我需要能够执行以下查询: 并且还为返回的每一行拉回数据库的名称; 任何帮助是极大的
问题内容: 我有一个数据库应用程序。我想使用Java中的命令创建文件。 如果我使用Prepared语句执行它: 然后,如何才能在单个String中获得整个结果。我是Java新手,因此无法找到获取该查询结果的出路,因为它不包含列名。 然后我将使用写入文件。 问题答案: 如果要将实例的内容作为 SQL脚本* 备份 到文件中,则可以直接使用。 * 如果要将其 备份 为 ZIP存档 ,则可以使用。