公司现在用的sqlserver比较多,数据量较大的时候经常遇到要导入数据的情况,从EXCEL导入的时候总是爱出这样那样的问题,特别是表结构不相同的时候,简直愁死人啊。
今天给出一个解决思路,其实很简单,就是想两个数据库连接,第一个数据库连接用来取数据,一条一条的取出,然后把取出来的数据,一条一条的拼接成另外一条插入语句,执行插入....
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String url = "jdbc:sqlserver://192.168.0.1:1433;DatabaseName=my";
String user = "sa";
String password = "123456";
String url1 = "jdbc:sqlserver://192.168.0.2:1433;DatabaseName=your";
String user1 = "sa";
String password1 = "654321";
Connection conn = null;
Connection conn1 = null;
try {
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );
conn = DriverManager.getConnection(url, user, password);
conn1 = DriverManager.getConnection(url1, user1, password1);
String sql1 = "select 栏目1,栏目2 from table1 where 栏目1=1";
Statement stmt = conn.createStatement();
Statement stmt1 = conn1.createStatement();
ResultSet rs1 = stmt1.executeQuery(sql1);
int i=0;
while(rs1!=null && rs1.next()){
String 栏目1_1 = rs1.getString("栏目1").trim();
String 栏目2_2 = rs1.getString("栏目2").trim();
String insertSql = " INSERT INTO table2 (栏目, 栏目) " +
"VALUES ('"+栏目1_1+"','"+栏目2_2+"') ";
stmt.executeUpdate(insertSql);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
conn.close();
conn1.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}