gpt4 book ai didi

java - 如何在单个查询中从多个数据库中检索数据?

转载 作者:搜寻专家 更新时间:2023-11-01 03:38:02 26 4
gpt4 key购买 nike

如果我有多个具有相同表和列的数据库,我如何使用 Java 中的单个查询从这些数据库中检索数据。为单个数据库完成此操作,我是 Java 新手,请提出建议。

public class MultipleDBTest{
public void dbConnect(String db_connect_string, String db_userid, String db_password){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
System.out.println("connected");
Statement statement = conn.createStatement();
String queryString = "select <Col1>, <Col2> from <Table>";
ResultSet rs = statement.executeQuery(queryString);
while(rs.next()){
System.out.println(rs.getString(1) + " | " + rs.getString(2));
}
}
catch(Exception e){
e.printStackTrace();
}
}

public static void main(String[] args){
ConnectMSSQLServer connServer = new ConnectMSSQLServer();
connServer.dbConnect("jdbc:sqlserver://localhost;databaseName=<Database1>","<Username>","<Password>");
}
}

最佳答案

从多个服务器获取数据的最简单方法是链接它们,使用完全限定的表名(即 Server.Database.Schema.Table)从每个表中查询数据,并合并全部。

如果您将其他服务器链接到您进行查询的服务器,您只能在完全限定名称 Server 中指定所需的服务器。

你最终会得到这样的东西

select * from Server1.Database1.dbo.Table
union
select * from Server2.Database2.dbo.Table
union
select * from Server3.Database2.dbo.Table

请参阅本文以了解什么是链接服务器以及如何设置它们:Linked Servers (Database Engine) .

关于java - 如何在单个查询中从多个数据库中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24161845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com