文件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();
}
}
闽公网安备 35060202000074号