您所在的位置: 首页>>数据库>>数据库开发>>

实现Oracle向Access数据库间的迁移

http://database.51cto.com  2008-01-18 15:23  eclipse-EasyJF  赛迪网  我要评论(0)
  • 摘要:受很多朋友的要求,在工作当中很时候要对数据库进行迁移,本人利用业余时间编写了一个迁移的实例,有这方面需要的朋友们可以借鉴和指正!
  • 标签:Oracle  Access  数据库  迁移

本例主要实现Oracle向Access的迁移,综合运用Java JDBC驱动以及JDBC-ODBC桥分别连接Oracle数据库管理系统和Access数据库,其他的数据迁移也是一样,只不过修改一下连接方式而已!本例中将Oracle中获取的数据,直接插到Access对应的数据表中,注意迁移时要保持两个数据库之间表结构的一致性。

Oracle中原始数据和移植到Access数据库对应的数据表中的有关数据如图:

ID NAME DEPARTMENY SALARY
1 Eclipse 技术部 2500
2 大峡 开发部 3000
3 天一 技术部 5000
4 船长 开发部 4000

主要就是新建一个类DataPass,由于本例要使用连接Oracle用的JDBC包,首先要导入对应的Oracle JDBC,以下是DataPass.java的代码:

package datamanage;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class DataPass {

public static void main(String[] args) {
String serverName = "localhost";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");           
String url  = "jdbc:oracle:thin:@"+serverName+":1521:eclipsedb";
Connection connOracle  = DriverManager.getConnection(url,"eclipse","888888"); 

//连接源数据源
Statement stmt = connOracle.createStatement();
ResultSet rs   = stmt.executeQuery("select * from employee");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   
Connection connAccess = DriverManager.getConnection("jdbc:odbc:target","",""); 

//连接目标数据源
PreparedStatement pstmt = connAccess.prepareStatement(

"insert into employee(id,name,department,salary) values(?,?,?,?)");
//循环装入数据
while(rs.next()) {              
pstmt.setInt(1,rs.getInt("id"));
pstmt.setString(2,rs.getString("name"));
pstmt.setString(3,rs.getString("department"));   
pstmt.setDouble(4,rs.getDouble("salary"));   
pstmt.executeUpdate();
}
//释放资源
rs.close();
stmt.close();
pstmt.close();
connOracle.close();
connAccess.close();
}catch(Exception e){
e.printStackTrace();
}
}
}

本例中,主要注意以下:

1、使用不同的数据库连接方式,注意前期数据配置和外部包的导入;
2、注意资源的释放,以确定完整地保存插入的数据;

要遵循的原则:

1、完整的记录相关的数据信息;
2、按照数据的不同类别分别存放在不同的数据表中;
3、建立表与表之间的关系,确定相关的字段;
4、尽量避免数据的重复存放!

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606】

Sun以10亿美元并购开源数据库厂商MySQL
甲骨文Oracle 11g正式发布
Oracle数据库开发之PL/SQL基础应用
Oracle较真SAP-商业管理软件之战一触即发
Oracle数据库开发基础教程
 
 验证码: (点击刷新验证码)   匿名发表
  • 野蛮生长

  • 作者:冯仑著
  • “地产界的思想家”冯仑纵横生意江湖20年来,第一次系统梳理出书。  三十年来中国民营企业从前公司时代发展到公司时代,21..
Copyright©2005-2008 51CTO.COM 版权所有