将 h2 数据库从 h2.db 转换为 mv.db
Converting h2 database from h2.db to mv.db
我正在将旧的 h2 数据库(带有 h2.db 扩展名)转换为较新的 mv 数据库引擎。
在数据库的某些 table 中,我遇到了更严格的引擎问题。
只是 SELECT * FROM 确实出错,所以使用最新的 h2-1.4。187.jar...我什至无法再打开数据...
错误在 TimeStampValue 中:
General error: "java.lang.IllegalArgumentException: timeNanos out of range 86400656000000"; SQL statement:
SELECT * FROM PURCHASES_DIVIDED [50000-187]
我用的是嵌入方式
现在我尝试使用旧 jar (h2-1.3.173.jar) 查找行
但不能完全解决如何找到有问题的行的方法..因为我在旧数据库中查询的所有内容似乎都有效,并且没有发现错误...
有人知道如何解决这个问题吗?
我想到了 select db table 中旧 jar 的问题行,然后修复那里的时间戳字段....然后用新 jar 打开....
但我需要找到一种方法 select 他们...
我找到了 'best of worse' 解决方案:
当您使用恢复功能时,您可以创建一个sql 转储文件,并加载到一个新的数据库中。
(还有新版本的 jar)。
它会在无法读取的行上生成错误,但剩下的就完成了。
所以损坏的行只会生成一条错误消息。
从 sql 转储文件中,我什至可以修复它....需要做很多手工工作。
仍然希望其他人给出更好的解决方案。
我正在将旧的 h2 数据库(带有 h2.db 扩展名)转换为较新的 mv 数据库引擎。 在数据库的某些 table 中,我遇到了更严格的引擎问题。
只是 SELECT * FROM 确实出错,所以使用最新的 h2-1.4。187.jar...我什至无法再打开数据...
错误在 TimeStampValue 中:
General error: "java.lang.IllegalArgumentException: timeNanos out of range 86400656000000"; SQL statement:
SELECT * FROM PURCHASES_DIVIDED [50000-187]
我用的是嵌入方式
现在我尝试使用旧 jar (h2-1.3.173.jar) 查找行
但不能完全解决如何找到有问题的行的方法..因为我在旧数据库中查询的所有内容似乎都有效,并且没有发现错误...
有人知道如何解决这个问题吗?
我想到了 select db table 中旧 jar 的问题行,然后修复那里的时间戳字段....然后用新 jar 打开....
但我需要找到一种方法 select 他们...
我找到了 'best of worse' 解决方案:
当您使用恢复功能时,您可以创建一个sql 转储文件,并加载到一个新的数据库中。 (还有新版本的 jar)。
它会在无法读取的行上生成错误,但剩下的就完成了。 所以损坏的行只会生成一条错误消息。 从 sql 转储文件中,我什至可以修复它....需要做很多手工工作。
仍然希望其他人给出更好的解决方案。