MySQL與Oracle數據庫都是常用的關系型數據庫,常常需要將數據在不同的數據庫之間同步。下面介紹MySQL同步數據到Oracle數據庫的步驟:
1.建立Oracle數據庫表結構
CREATE TABLE `test` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) );
2.配置MySQL與Oracle數據庫連接參數
#MySQL連接參數 mysql.host=127.0.0.1 mysql.port=3306 mysql.username=root mysql.password=123456 mysql.database=test #Oracle連接參數 oracle.host=127.0.0.1 oracle.port=1521 oracle.sid=orcl oracle.username=system oracle.password=123456
3.編寫MySQL同步數據到Oracle的Java程序
public static void main(String[] args) throws SQLException { //獲取MySQL數據庫連接 Connection mysqlConn = DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/test?useSSL=false&serverTimezone=UTC", "root", "123456"); //獲取Oracle數據庫連接 Connection oracleConn = DriverManager.getConnection( "jdbc:oracle:thin:@//127.0.0.1:1521/orcl", "system", "123456"); //獲取MySQL表數據 Statement mysqlStmt = mysqlConn.createStatement(); ResultSet mysqlRs = mysqlStmt.executeQuery("SELECT * FROM test"); //插入Oracle數據庫 PreparedStatement oracleStmt = oracleConn.prepareStatement("INSERT INTO test(id, name) VALUES (?, ?)"); while (mysqlRs.next()) { oracleStmt.setInt(1, mysqlRs.getInt("id")); oracleStmt.setString(2, mysqlRs.getString("name")); oracleStmt.executeUpdate(); } //釋放資源 mysqlRs.close(); mysqlStmt.close(); oracleStmt.close(); oracleConn.close(); mysqlConn.close(); }
4.運行Java程序同步數據
以上就是MySQL同步數據到Oracle數據庫的簡單介紹,這種同步方式適用于數據量較小的情況,如果數據量較大,建議使用ETL工具或者數據同步中間件來實現。