【发布时间】:2017-10-30 20:41:12
【问题描述】:
我需要在我的项目上编写一些使用 Sybase DB 的测试。这些测试与运行一些 SQL 请求密切相关。为此,我们必须使用带有 h2 嵌入式数据库的 myBatis 和 DBunit 方法。但问题是一些 Sybase 和 h2 对于相同的函数有一些不同的语法。
例子:
Sybase: CONVERT(data_type, expression [, format_style])
H2: CONVERT(value, data_type)
如您所见,我是否会通过基于 H2 方言测试的 SQL 编写,但在 Sybase 上运行它的应用程序中的代码肯定会失败。
问题:
- 有什么方法可以让 H2 DB 理解 Sybase 方言?
- 有什么方法可以使 SQL 在不同的 DB 上兼容,这正是我需要的 bcos 将来我们可以移动到另一个 DB 并重写所有 SQL 将是一个非常糟糕和耗时的机会?
【问题讨论】: