Java 如何实现将 Oracle 数据查询后插入至 SqlServer 临时表
在 Java 中,我们可以使用 JDBC(Java Database Connectivity)库来连接 Oracle 和 SqlServer 数据库,并执行相应的 SQL 语句来实现数据查询和插入操作。
首先,我们需要准备好 Oracle 和 SqlServer 的数据库连接信息,包括数据库的 URL、用户名和密码。假设我们已经准备好了这些信息,并且已经导入了相应的 JDBC 驱动程序。
接下来,我们需要编写代码来连接 Oracle 数据库,并执行查询操作。以下是一个简单的示例代码:
import java.sql.*;
public class OracleToSqlServer {
public static void main(String[] args) {
// Oracle 数据库连接信息
String oracleUrl = "jdbc:oracle:thin:@localhost:1521:ORCL";
String oracleUsername = "username";
String oraclePassword = "password";
// SqlServer 数据库连接信息
String sqlServerUrl = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase";
String sqlServerUsername = "username";
String sqlServerPassword = "password";
// 查询语句
String sql = "SELECT * FROM table_name";
try {
// 连接 Oracle 数据库
Connection oracleConnection = DriverManager.getConnection(oracleUrl, oracleUsername, oraclePassword);
// 执行查询操作
Statement statement = oracleConnection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
// 连接 SqlServer 数据库
Connection sqlServerConnection = DriverManager.getConnection(sqlServerUrl, sqlServerUsername, sqlServerPassword);
// 创建 SqlServer 临时表
String createTableSql = "CREATE TABLE #temp_table (column1 data_type1, column2 data_type2, ...)";
Statement createTableStatement = sqlServerConnection.createStatement();
createTableStatement.execute(createTableSql);
// 插入数据到 SqlServer 临时表
String insertSql = "INSERT INTO #temp_table (column1, column2, ...) VALUES (?, ?, ...)";
PreparedStatement insertStatement = sqlServerConnection.prepareStatement(insertSql);
while (resultSet.next()) {
// 获取 Oracle 数据库中的数据
String column1Value = resultSet.getString("column1");
String column2Value = resultSet.getString("column2");
// ...
// 设置插入参数
insertStatement.setString(1, column1Value);
insertStatement.setString(2, column2Value);
// ...
// 执行插入操作
insertStatement.executeUpdate();
}
// 关闭连接
resultSet.close();
statement.close();
insertStatement.close();
createTableStatement.close();
oracleConnection.close();
sqlServerConnection.close();
System.out.println("数据插入成功!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
上述代码首先通过 DriverManager.getConnection()
方法来分别连接 Oracle 和 SqlServer 数据库。然后,使用 Statement
对象执行查询操作,并将结果集保存在 ResultSet
对象中。
接下来,使用 DriverManager.getConnection()
方法连接 SqlServer 数据库,并使用 Statement
对象来创建临时表。然后,使用 PreparedStatement
对象执行插入操作,将从 Oracle 数据库查询到的数据插入到 SqlServer 临时表中。
最后,我们关闭所有的连接,并提示用户数据插入成功。
请注意,上述示例中的 SQL 语句、表名、列名等需要根据实际的业务需求进行调整。
希望以上示例代码对你有所帮助!