| |
文件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(); } }
|
|