Rik*_*ik 5 java database sql-server jdbc connectivity
如果我有多个具有相同表和列的数据库,我如何使用 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>");
}
}
Run Code Online (Sandbox Code Playgroud)
从多个服务器获取数据的最简单方法是将它们链接起来,使用完全限定的表名(即 )查询每个表中的数据,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
Run Code Online (Sandbox Code Playgroud)
请参阅本文以了解什么是链接服务器以及如何设置它们:链接服务器(数据库引擎)。