公司现在用的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(); } } }}总结
以上是内存溢出为你收集整理的Sqlserver 实现跨数据库,跨服务器,表结构不同 导入数据全部内容,希望文章能够帮你解决Sqlserver 实现跨数据库,跨服务器,表结构不同 导入数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)