HSQL中的一个数据迁移问题,新数据库不包含几个表

Posted

技术标签:

【中文标题】HSQL中的一个数据迁移问题,新数据库不包含几个表【英文标题】:A data migration issue in HSQL, the new database does not contain few tables 【发布时间】:2011-10-06 07:36:33 【问题描述】:

我目前负责为我们的应用程序迁移数据,升级到新版本。我正在尝试从 HSQL 迁移到 HSQL,稍后我们将继续进行其他组合。

所以我有一个独立的实用程序来执行此操作。我正在使用 MockServletContext 来初始化我的服务(此迁移将在不启动服务器的情况下完成)。

问题是所有的表都被迁移了,除了2-3个表,数量取决于迁移的数据大小。在广泛的调试中,我没有发现任何问题。这意味着所有数据都在通过 eclipse 调试时迁移,但在正常运行时,最后 3 个表无法完成。

有什么线索可以看吗?

在正常运行中,我放置了记录器来查看我们是否正在从源数据库中读取所有数据,并且确实日志证明我们做到了。 我无法放置日志的唯一地方是它调用驱动程序中的方法。

在最后一步中,我们调用 PreparedStatement 对象的 executeBatch()/executeUpdate() 方法(均尝试但结果完全相同)。

我完全不知道该做什么以及在哪里寻找。有什么建议吗?

谢谢

【问题讨论】:

【参考方案1】:

在正常运行中,我放置了记录器来查看我们是否正在从源数据库中读取所有数据,并且确实日志证明我们做到了。我无法放置日志的唯一地方是它调用驱动程序中的方法时。

如果您怀疑那里有问题,请尝试将您的驱动程序封装在 log4jdbc 中。它将显示发出给 DB 的 SQL。祝你好运!

【讨论】:

但是我在调​​试模式下运行时得到了正确的结果,而不是在正常运行模式下。它会响起某种铃声吗?我的意思是我想解决这个问题,但我也想知道为什么会发生这种行为。 @user391972 这就是我推荐它的原因。在 NORMAL 运行模式下添加 SQL 日志记录,看看究竟发生了什么。答案是通用的,您的问题描述也是如此。如果您透露更多,首先是无法处理您的数据的 SQL 语句,也许您可​​以得到更好的帮助。 我检查了 SQL 查询,不出所料,它们与预期的一样。将适当的行插入到相应的表中。所以我仍然坚持这一点:(

以上是关于HSQL中的一个数据迁移问题,新数据库不包含几个表的主要内容,如果未能解决你的问题,请参考以下文章

语句中出现 HSQL 意外标记

finedb(内置的HSQL数据库)迁移数据到MySQL

不完整的迁移——卡在生成新的迁移中

mysql把一个数据库中的数据复制到另一个数据库中的表 2个表结构相同

如何在 WAR 文件中包含 Hsql 数据库?

HSQL 访问被拒绝加载文件