您的位置:首页 > 数据库

十分钟轻松搞定两个不同数据库之间的数据交换

2013-03-04 10:42 411 查看
JadePool为广大Java工作者提供了许多简洁实用的方法,如果需要实现不同数据库之间的数据交换,使用JadePool十分方便。这是十分有价值的实践活动,比如,在网站的数据管理中,我们需要将远程数据库的数据保存到本地数据库中,将SQL Server数据库的数据保存到Oracle中,等等。

1、建立远程数据库的连接:

public static synchronized Connection getConFromRemote() {
Connection con = null;
String url = "jdbc:sqlserver://admin.xxx.xxx.com\\dbo:1436;databaseName=remote_jadepool";
String userName = "hkm12345";
String password = "pwd12345";
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url, userName, password);
} catch (SQLException ex1) {
ex1.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return con;
}


2、建立本地数据库的连接

public static synchronized Connection getConFromLocal() {
Connection con = null;
String url = "jdbc:sqlserver://127.0.0.1\\dbo:1436;databaseName=jadepool";
String userName = "hkm123";
String password = "pwd123";
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url, userName, password);
} catch (SQLException ex1) {
ex1.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return con;
}


3、将远程数据库的数据保存到本地数据库中

public void backupDB() {
Jade j0 = new Jade(getConFromRemote(), cn.jadepool.sql.DbConnectionType.USING_DB_01);
List<Map> v0 = j0.query("select * from jade_book");
List<Map> v1 = j0.query("select * from jade_book_cs");
j0.commit();

Jade j1 = new Jade(getConFromLocal(), cn.jadepool.sql.DbConnectionType.USING_DB_02);
j1.delete("delete from jade_book");
j1.insert("jade_book", v0);
j1.delete("delete from jade_book_cs");
j1.insert("jade_book_cs", v1);
j1.commit();
}


请注意,这里演示的是两相同的数据库,使用不同的数据库不影响结果,但两者表的结构一定要一致。

更多JadePool话题请访问我的个人网站http://www.jadepool.cn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: