Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过JDBC查询不同服务器上的不同数据库? 脚本_Java_Mysql_Database_Postgresql_Jdbc - Fatal编程技术网

Java 如何通过JDBC查询不同服务器上的不同数据库? 脚本

Java 如何通过JDBC查询不同服务器上的不同数据库? 脚本,java,mysql,database,postgresql,jdbc,Java,Mysql,Database,Postgresql,Jdbc,给定两个不同的DBMS,例如服务器a上的PostgreSQL和服务器B上的MySQL。每个DBMS都拥有一个数据库,分别是带有表a的数据库a和带有表B的数据库B。上面给出的DBMS可以是PostgreSQL、MySql、Oracle、H2甚至MongoDB或类似的分层DMB 一个示例查询(从而将ServerA上表A的数据(PostgreSQL)与ServerB上表B的数据连接起来) SELECT * FROM A JOIN B; 问题 是否有任何统一的JDBC“驱动程序”可以满足这些需求 A

给定两个不同的DBMS,例如服务器a上的PostgreSQL和服务器B上的MySQL。每个DBMS都拥有一个数据库,分别是带有表
a
的数据库a和带有表
B
的数据库B。上面给出的DBMS可以是PostgreSQL、MySql、Oracle、H2甚至MongoDB或类似的分层DMB

一个示例查询(从而将ServerA上表A的数据(PostgreSQL)与ServerB上表B的数据连接起来)

SELECT * FROM A JOIN B;
问题
  • 是否有任何统一的JDBC“驱动程序”可以满足这些需求
  • ApacheDrill似乎是另一种选择,但目前缺乏稳定性和成熟度。有其他选择吗
  • 还有什么其他可能的方法?自定义JDBC驱动程序,进行语句分析并路由到不同的DBs

您不会通过应用层或web服务器来实现这一点。相反,您可能希望研究在两个数据库之间建立DB链接。PostgreSQL和MySQL之间的DB链接?如何实现?PostgreSQL的外部数据包装器可能是更好的选择之一。否则,请研究通过包装器驱动程序在JDBC中进行客户端连接。“SQL/MED”也是一个很好的搜索关键字。@Martinsene所以你想要一个JDBC代理驱动程序,它可以拆分SQL,在多个不同的DBMS上执行部分,并进行客户端连接以统一结果?嗯。我不认为你的机会有多大。我不知道是否有这样的东西,但如果有,我预计它将花费$omgwtfbbq。你需要更灵活地处理这个问题。至于SQL/MED-@Martinsene听起来像是一个有趣的3年项目,或者是一个博士论文的原型;)