Sqlserver 实现跨数据库,跨服务器,表结构不同 导入数据
发布时间:2020-12-12 14:41:07 所属栏目:MsSql教程 来源:网络整理
导读:??? 公司现在用的sqlserver比较多,数据量较大的时候经常遇到要导入数据的情况,从EXCEL导入的时候总是爱出这样那样的问题,特别是表结构不相同的时候,简直愁死人
??? 公司现在用的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(); } } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |