文件DbInput.java则是真正的数据拷贝部分: 
  
import java.sql.*; 
  
public class DbInput 
{ 
     
    Connection src=null; 
    Connection dest=null; 
    Connection connformax=null; 
    ConnPara srcPara; 
    ConnPara destPara; 
     
    public DbInput(){} 
     
    public void dbInit() 
    { 
        DbXmlParser xmlparser=new DbXmlParser("dbs.xml"); 
        srcPara=xmlparser.getSource(); 
        destPara=xmlparser.getDest(); 
        try {  
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );  
           Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
           src = DriverManager.getConnection( srcPara.getUrl(), srcPara.getUsername(),srcPara.getPassword()); 
           dest =DriverManager.getConnection( destPara.getUrl(), destPara.getUsername(),destPara.getPassword()); 
           connformax= DriverManager.getConnection( destPara.getUrl(), destPara.getUsername(),destPara.getPassword()); 
        }  
        //捕获加载驱动程序异常 
        catch ( ClassNotFoundException cnfex ) {  
           System.err.println( "装载 JDBC/ODBC 驱动程序失败。" );  
           cnfex.printStackTrace();  
           System.exit( 1 );  // terminate program  
        } catch ( SQLException ex )  
        {  
            System.err.println( "连接失败" );  
            ex.printStackTrace();  
            System.exit( 1 );  // terminate program  
        }            
    } 
     
    public void copyproduct() 
    { 
        Statement st=null; 
        ResultSet rset=null; 
        String sqlstr; 
        try {  
           //执行SQL语句 
           String query = "select * from production"; 
           st = src.createStatement();  
           rset = st.executeQuery(query);           
           int pid,ljid,cid,ciid; 
           while(rset.next()) 
           { 
           String pnumber=rset.getString(1); 
           String ljnumber=rset.getString(2); 
            String cnumber=rset.getString(3); 
           //插入到产品表 
           pid=getIdfromNumber("project","number",pnumber); 
           if(pid==0) //插入一条新记录 
           { 
                pid=getMax("project");//System.out.println(pid); 
                sqlstr="Insert into project(id,number) values("+pid+",'"+pnumber+"')"; 
                execute(destPara,sqlstr); 
           }           
           //插入到零件表 
           ljid=getIdfromNumber("product","number",ljnumber); 
            if(ljid==0) //插入一条新记录 
            { 
                ljid=getMax("product"); 
                sqlstr="Insert into product(id,pid,number) values("+ljid+","+pid+",'"+ljnumber+"')"; 
                execute(destPara,sqlstr); 
            }           
           //插入工具表 
            cid=getIdfromNumber("componenttype","number",cnumber); 
            if(cid==0) //插入一条新记录 
            { 
                cid=getMax("componenttype"); 
                sqlstr="Insert into componenttype(id,aid,number) values("+cid+","+ljid+",'"+cnumber+"')"; 
                execute(destPara,sqlstr); 
            }                     
           } 
  
        }  
        catch ( SQLException sqlex ) {  
           sqlex.printStackTrace();  
        }        
    }    
   
 
  |