如何在H2数据库中模拟Oracle数据库链接



我的问题如下:我必须测试一个用JavaSpring编写的应用程序。在现实生活中,数据库服务器将是一个Oracle。在使用数据库链接的地方有一些选择。(例如:从中选择*country@isem_db;(在测试环境中,我们使用H2数据库,它不知道这个语法。(@(
我的问题是:这是否有可能使H2接受这种Oracle语法?在不修改原始源代码的情况下,是否存在一些变通方法?

您的Oracle代码不应包含嵌入式数据库链接。数据库链接名称可能会随着环境的变化而变化,这会使代码变得脆弱。或者,您可能需要切换到使用本地副本(或物化视图(。

正确的方法是使用同义词。在Oracle中,您可以创建远程表的同义词:

create synonym isem_country for country@isem_db;

显然,您需要更改Oracle代码以引用同义词名称,而不是远程表。

这为您提供了在H2中运行的解决方案,前提是您使用的是支持表同义词的最新版本。在H2中,您可以在本地表上创建一个同名的同义词:

create synonym isem_country for country;

最新更新