两个数据库一个access,一个为oracle,分别在两台机器上,如何用java将access的数据
插入到oracle中?
[java] view plain copy
import java.sql.*;
public class ConnectAccess {
/**
* 初学者请注意:
* 1:先建立一个access文件a1.mdb,并放在D:/下;
* 2:在数据库文件a1.mdb中建立一个表Table1;
* 3:为Table1添加一列,并插入至少一条记录;
* 4:本文是一个完整的类,直接拿去运行就可以。
/
public static void main(String args[]) throws Exception {
ConnectAccess ca=new ConnectAccess();
ca.ConnectAccessFile();
ca.ConnectAccessDataSource();
}
public void ConnectAccessFile() throws Exception
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*
* 直接连接access文件。
/
String dbur1 = "jdbc:odbc:driver={Microsoft Access Driver (.mdb)};DBQ=d://a1.mdb";
Connection conn = DriverManager.getConnection(dbur1, "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from Table1");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
public void ConnectAccessDataSource()throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/**
* 采用ODBC连接方式 如何建立ODBC连接?
* 答:在windows下,【开始】->【控制面板】->【性能和维护】->【管理工具】->【数据源】,在数据源这里添加一个指向a1.mdb文件的数据源。
* 比如创建名字为dataS1
*/
String dbur1 = "jdbc:odbc:dataS1";// 此为ODBC连接方式
Connection conn = DriverManager.getConnection(dbur1, "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from Table1");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
}
参考这个:
http://blog.csdn.net/narsh/article/details/5295727
然后新增到Oracle里面,可以参考:
http://download.csdn.net/download/leonlovee/1537618
可以看看
http://blog.csdn.net/narsh/article/details/5295727
参考下这个
https://www.2cto.com/kf/201209/155457.html
不过表名之类要修改,另外access是单机数据库,你的程序必须和access在一台机上,否则用共享目录的方式先读取access的文件,再复制。
如果我来实现的话,我会先连接到本地access数据库将数据查出来,然后用另一个项目连接oracle,利用webService将我现在项目的数据插入到另一个项目中去
应该是先查询access数据库,然后通讯到另外一台机器上,再然后就重新建立Oracle数据库。之前sql和oracle的迁移就是这样搞的
acess数据库导出成excel,通过解析excel文件到oracle中
把acess数据库的数据查询出来然后在转换数据(转换你对应oracle表中的字段)你要插入的oracle数据库表中