我们可以对来自不同数据库的两个表使用join操作吗?如果是,那该怎么办?
两个数据库都在同一台服务器上,DBMS是相同的.
我正在使用Spring Boot 1.5.18.RELEASE。
我使用以下链接关注了多个数据源:
但是当我在同一服务器上有数据源时,它可以工作。
这是我的情况:
在上述情况下,Spring Boot应用程序仅尝试检查服务器1中的表,结果我得到了sql异常之类的信息
SqlExceptionHelper - SQL Error: 1146, SQLState: 42S02
SqlExceptionHelper - Table 'datasource2.table2' doesn't exist
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
'datasource2.table2' doesn't exist
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
hibernate spring-data-jpa spring-boot multi-database-connections
如果我有多个具有相同表和列的数据库,我如何使用 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)