如何在Java应用程序中连接来自两个不同数据库引擎(DB2和SQL Server)的数据?

如何在Java应用程序中连接来自两个不同数据库引擎(DB2和SQL Server)的数据?,java,sql-server,web-services,db2,Java,Sql Server,Web Services,Db2,在Java应用程序中,我们需要使用查询语句连接来自2个数据库DB2和SQL Server的数据。我想知道做这件事的好方法 我们需要使用web服务从SQL Server获取数据,然后使用Java代码中的查询将其与来自DB2的数据连接起来。我们需要加入SQL Server的表和DB2的表2。有什么建议吗?因为您将无法用JDBC“本机”完成此操作。至少有一种方法是在数据库级别创建dblinks,我不知道是否可以在DB2和SQLServer中创建,至少可以在两个Oracle数据库之间创建 执行此程序的一

在Java应用程序中,我们需要使用查询语句连接来自2个数据库DB2和SQL Server的数据。我想知道做这件事的好方法


我们需要使用web服务从SQL Server获取数据,然后使用Java代码中的查询将其与来自DB2的数据连接起来。我们需要加入SQL Server的
和DB2的
表2
。有什么建议吗?

因为您将无法用JDBC“本机”完成此操作。至少有一种方法是在数据库级别创建dblinks,我不知道是否可以在DB2和SQLServer中创建,至少可以在两个Oracle数据库之间创建

执行此程序的一种方法是:

在db2中,使用键作为键,行作为值填充映射,例如:

Map<Integer, Db2RowWrapper> mapDb2 = new HashMap<>();
//fill the map from JDBC , JPA o whatever you use

Map<Integer, SQLServerRowWrapper> sqlServerMap = new HashMap<>();
//Fill it with SQLServer data

//Once you have both maps,
Set<Map.Entry<String, Db2RowWrapper>> rows = mapDb2.entrySet();{

        for(Map.Entry<String, Db2RowWrapper> data : rows) {
            String key = data.getKey();
            //find it in SQL Server map
            SQLServerRowWrapper sqlServerRow = sqlServerMap.get(key);
        }
mapDb2=newhashmap();
//从JDBC、JPA或您使用的任何东西填充映射
Map sqlServerMap=newhashmap();
//用SQLServer数据填充它
//一旦你有了两张地图,
Set rows=mapdb.entrySet();{
对于(Map.Entry数据:行){
String key=data.getKey();
//在SQL Server映射中找到它
SQLServerRowWrapper sqlServerRow=sqlServerMap.get(键);
}

请考虑使用内存和使用多少记录< /P>