Sqlserver 实现跨数据库,跨服务器,表结构不同 导入数据
Sqlserver 实现跨数据库,跨服务器,表结构不同 导入数据公司现在用的sqlserver比较多,数据量较大的时候经常遇到要导入数据的情况,从EXCEL导入的时候总是爱出这样那样的问题,特别是表结构不相同的时候,简直愁死人啊。 今天给出一个解决思路,其实很简单,就是想两个数据
公司现在用的sqlserver比较多,数据量较大的时候经常遇到要导入数据的情况,从EXCEL导入的时候总是爱出这样那样的问题,特别是表结构不相同的时候,简直愁死人啊。
今天给出一个解决思路,其实很简单,就是想两个数据库连接,第一个数据库连接用来取数据,一条一条的取出,然后把取出来的数据,一条一条的拼接成另外一条插入语句,执行插入….
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | 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(); } } } } |
版权所有:深圳市网商在线科技有限公司
友情链接: