Java使用JDBC连接Oracle_MSSQL实例

本文介绍了一个Java程序示例,该程序将Microsoft SQL Server数据库中的数据迁移到Oracle数据库。具体实现包括了连接两个不同类型的数据库、执行SQL查询获取数据及使用PreparedStatement进行数据插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. import java.sql.*;  
  2.   
  3. public class TestPreparedStatement {  
  4.   
  5.     public static void main(String[] args) {  
  6.         Connection oracle_conn = null;  
  7.         PreparedStatement oracle_stmt = null;  
  8.         ResultSet oracle_rs = null;  
  9.           
  10.         Connection mssql_conn = null;  
  11.         Statement mssql_stmt = null;  
  12.         ResultSet mssql_rs = null;  
  13.                   
  14.         try {  
  15.             Class.forName("oracle.jdbc.driver.OracleDriver");  
  16.             oracle_conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.215:1521:orcl""username""password");  
  17.               
  18.             oracle_stmt = oracle_conn.prepareStatement("insert into Video_ItemInfo values(?, ?, ?, ?, ?, ?, ?, ?, ?)");  
  19.               
  20.             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
  21.             mssql_conn = DriverManager.getConnection("jdbc:sqlserver://192.168.0.213:1433;DatabaseName=VIS""username""password");  
  22.   
  23.             mssql_stmt = mssql_conn.createStatement();  
  24.             mssql_rs = mssql_stmt.executeQuery("select * from VideoItemInfo");  
  25.               
  26.             while(mssql_rs.next()) {  
  27.                 System.out.println("正在插入ItemIndex:" + mssql_rs.getInt("ItemIndex") + "的记录...");  
  28.                 oracle_stmt.setInt(1, mssql_rs.getInt("ItemIndex"));  
  29.                 oracle_stmt.setInt(2, mssql_rs.getInt("VideoId"));  
  30.                 oracle_stmt.setString(3, mssql_rs.getString("VideoItemName"));  
  31.                 oracle_stmt.setString(4, mssql_rs.getString("VideoExtName"));  
  32.                 oracle_stmt.setDouble(5, mssql_rs.getDouble("VideoSize"));  
  33.                 oracle_stmt.setString(6, mssql_rs.getString("VideoPath"));  
  34.                 oracle_stmt.setString(7, mssql_rs.getString("VideoType"));  
  35.                 oracle_stmt.setDate(8, mssql_rs.getDate("VideoDate"));  
  36.                 oracle_stmt.setString(9, mssql_rs.getString("ApplicationWay"));  
  37.                   
  38.                 oracle_stmt.executeUpdate();  
  39.             }  
  40.             System.out.println("插入数据到Video_ItemInfo表中操作已完成!");  
  41.         } catch (ClassNotFoundException e) {  
  42.             e.printStackTrace();  
  43.         } catch (SQLException e) {  
  44.             e.printStackTrace();  
  45.         } finally {  
  46.             try {  
  47.                 if(oracle_rs != null) {  
  48.                     oracle_rs.close();  
  49.                     oracle_rs = null;  
  50.                 }  
  51.                   
  52.                 if(oracle_stmt != null) {  
  53.                     oracle_stmt.close();  
  54.                     oracle_stmt = null;  
  55.                 }  
  56.                   
  57.                 if(oracle_conn != null) {  
  58.                     oracle_conn.close();  
  59.                     oracle_conn = null;  
  60.                 }  
  61.                   
  62.                 if(mssql_rs != null) {  
  63.                     mssql_rs.close();  
  64.                     mssql_rs = null;  
  65.                 }  
  66.                   
  67.                 if(mssql_stmt != null) {  
  68.                     mssql_stmt.close();  
  69.                     mssql_stmt = null;  
  70.                 }  
  71.                   
  72.                 if(mssql_conn != null) {  
  73.                     mssql_conn.close();  
  74.                     mssql_conn = null;  
  75.                 }  
  76.             } catch (SQLException e) {  
  77.                 e.printStackTrace();  
  78.             }  
  79.         }  
  80.     }  
  81.   
  82. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值