Java、XML与数据库编程实践(三)

原创 2004年06月15日 10:42:00

文件DbInput.java则是真正的数据拷贝部分:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

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();

        }      

    }  

 

基于Hadoop生态圈的数据仓库实践 —— ETL(三)

三、使用Oozie定期自动执行ETL1. Oozie简介(1)Oozie是什么        Oozie是一个管理Hadoop作业、可伸缩、可扩展、可靠的工作流调度系统,其工作流作业是由一系列动作构成...
  • wzy0623
  • wzy0623
  • 2016年07月11日 15:05
  • 14105

每周一本书之《Druid实时大数据分析原理与实践》

随着社交通信、数字广告、电子商务、网络游戏等商业模式的发展,越来越多的互联网企业诞生。他们都享受了大数据基础技术的红利,从初始就具备比较强大的数据收集、分析和处理能力,并且可以用在业务优化上。 ...
  • qq646748739
  • qq646748739
  • 2017年06月06日 23:23
  • 1232

java实验10-java数据库编程

实验目的: 1) 理解JDBC的组成和结构  2) 掌握Java程序与数据库的链接技术  3) 掌握在Java程序中使用java.sql包中提供的DriverManager类、Connectio...
  • u011686226
  • u011686226
  • 2014年10月21日 21:30
  • 1406

XML编程思想与实践.rar

  • 2010年06月03日 14:13
  • 7.01MB
  • 下载

《JAVA并发编程实践》读书笔记(三)

第6章 任务执行 大部分并发应用程序都是围绕“任务执行(Task Execution)”来构造,任务通常是一些抽象的且离散的工作单元。 在线程中执行任务,既不能让服务器串行地工作在单线程下,但同时...
  • youngweiquan
  • youngweiquan
  • 2016年08月02日 17:52
  • 140

Java并发编程实践笔记(三)——chapter1(synchronized锁)

锁 synchronized 内部锁(intrinsic locks),又称监视器锁(Monitor locks)。 互斥锁 synchronized块就是一种互斥锁(mutual Exclusive...
  • xxcupid
  • xxcupid
  • 2016年10月24日 14:04
  • 226

java并发编程实践第二遍笔记(三)20171021

对象的组合浅紫色为自己跟作者的一些不同看法设计线程安全的类: 虽然可以将程序的所有状态都保存在共有的静态域中,但是与那些将状态封装起来的程序相比,这些程序的线程安全性更难以得到验证,并且在修改时也更...
  • lwwgtm
  • lwwgtm
  • 2017年10月23日 09:03
  • 85

java并发编程实践学习(三)JVM的server模式和client模式

《java并发编程实践》作者讲述volatile关键字的时候,在书中的注脚提到了JVM的server模式和client模式。以前自己从来没有听说过这个东西,不得不感概自己知识面的狭窄,编程的世界浩瀚!...
  • aitangyong
  • aitangyong
  • 2014年04月01日 20:36
  • 1555

Odoo(OpenERP)开发实践:通过XML-RPC接口访问Odoo数据库

Odoo(OpenERP)服务器支持通过XMLRPC接口访问、操作数据库,基于此可实现与其他系统的交互与集成。 本文是使用Java通过XMLRPC接口操作Odoo数据库的简单示例。本例引用的jar包包...
  • wangnan537
  • wangnan537
  • 2015年08月01日 23:05
  • 5481

【Qt入门实践】数据库xml操作

转载请注明出处:http://blog.csdn.net/feng1790291543 Qt的xml篇:     建立Qt工程,使用的是GUI显示的。 本代码所使用的xml文件...
  • feng1790291543
  • feng1790291543
  • 2014年09月30日 14:43
  • 915
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java、XML与数据库编程实践(三)
举报原因:
原因补充:

(最多只允许输入30个字)