亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clientfactory.java

?? SQL Plus是一款通用數據庫操縱、存取程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
		
		cmd = "select * from " + cmd + " where 1<>1"; // re group the sql
		
		java.sql.PreparedStatement ps = conn.prepareStatement(cmd);
		
        java.sql.ResultSet rs = ps.executeQuery(); //取得當前記錄的最大值
        
        java.sql.ResultSetMetaData rmd = rs.getMetaData();
        try{
	        // Print Header
	        int[] width = {45, 16, 12};
	        // print names
	        System.out.print("Field Name");
	        for(int j = 0; j < width[0] - "Field Name".length(); j++)
	        	System.out.print(" ");
	        System.out.print(" Var Type");
	        for(int j = 0; j < width[1] - "Var Type".length(); j++)
	        	System.out.print(" ");
	        System.out.print(" Is NULL");
	        for(int j = 0; j < width[2] - "Is NULL".length(); j++)
	        	System.out.print(" ");        	
	        System.out.print("\r\n");	
	        // ----
	        for(int j = 0; j < width[0]; j++)
	        	System.out.print("-");
	        System.out.print(" ");
	        for(int j = 0; j < width[1]; j++)
	        	System.out.print("-");
	        System.out.print(" ");
	        for(int j = 0; j < width[2]; j++)
	        	System.out.print("-");        	
	        System.out.print("\r\n\r\n");	
	        
	        // Values   	
	        for(int i = 1; i <= rmd.getColumnCount(); i++)
	        {
	        	String cname = rmd.getColumnName(i); // 列名
	        	int   icname = cname.toCharArray().length; // char width
	        	if(icname < width[0])
	        	{
	        		System.out.print(cname);
	        		for(int j = 0; j < width[0] - icname; j++)
	        			System.out.print(" ");
	        	}
	        	System.out.print(" ");
	        	cname = rmd.getColumnTypeName(i); // 類型名
	        	if(cname != null && (cname.toUpperCase().startsWith("VARCHAR") || cname.toUpperCase().startsWith("CHAR")))
	        		cname += "(" + rmd.getColumnDisplaySize(i) + ")";
	        	icname = cname.toCharArray().length; // char width
	        	if(icname < width[0])
	        	{
	        		System.out.print(cname);
	        		for(int j = 0; j < width[1] - icname; j++)
	        			System.out.print(" ");
	        	}
	        	System.out.print(" ");
	        	int isn = rmd.isNullable(i); // 是否為空
	        	cname = "Not NULL";
	        	if(isn == 1)
	        		cname = "    ";
	        	icname = cname.toCharArray().length; // char width
	        	if(icname < width[0])
	        	{
	        		System.out.print(cname);
	        		for(int j = 0; j < width[2] - icname; j++)
	        			System.out.print(" ");
	        	}
	        	System.out.print("\r\n");
	        }
	        
			System.out.print("\r\n------------------\n" + rmd.getColumnCount() + " Columns Show OK!\r\n\r\n");
		}catch(SQLException e){
			throw e;
		}finally{
			try{
			// clear
				if(rs != null)rs.close();
				if(ps != null)ps.close();
			}catch(Exception e){}
		}
	}
	/**
	 * method connect()
	 * <br>
	 */
	private void connect() throws SQLException, ClassNotFoundException
	{
		Class.forName(jdbc);
		if((user == null && pass == null)|| ("".equals(user.trim()) && "".equals(pass.trim())))
			conn = (java.sql.Connection)DriverManager.getConnection(url);			
		else
        	conn = (java.sql.Connection)DriverManager.getConnection(url, user, pass);
		log("\r\nConnected.\r\n");
	}
	/**
	 * method log<br>
	 * print information on control platform
	 */
	private void log(String info)
	{
		System.out.println(info);
	}
	/**
	 * Method savepoint(sname)
	 *
	 * Save rollback point
	 */
	private void savepoint(String sname)throws SQLException
	{
		isClosed(); // 連接是否關閉
		
		if(sname != null)
		{
			Savepoint sp = conn.setSavepoint(sname);
			
			// 是否已經設置了這個回滾點
			if(hm.containsKey(sname))hm.remove(sname);
			// 加入到回滾有名列表
			hm.put(sname, sp);
		}
		else
			conn.setSavepoint();
		
		log("Save Point Success.\r\n");
	}
	/**
	 * Method rollback(sname)
	 * <br>回滾
	 */
	private void rollback(String sname)throws SQLException
	{
		isClosed(); // 連接是否關閉
		
		if(sname != null)
		{
			if(hm.containsKey(sname))
			{
				Savepoint sp = (Savepoint)hm.get(sname);
				hm.remove(sname);
				conn.rollback(sp);
			}
		}else
		{
			conn.rollback();
		}
		
		log("Roll Back Save Point '" + sname == null?"":sname + "' Success.\r\n");
	}
    /* (non-Javadoc)
     * @see com.ora.db.Client#importIPDB(java.lang.String)
     */
    public void importIPDB(String mdb, String table, String totable, String fin, String tin) {
        String aurl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + mdb;
        PreparedStatement ps = null;
        ResultSet rs = null;
        Connection tconn = null;
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            tconn = (java.sql.Connection)DriverManager.getConnection(aurl);	            
            ps = tconn.prepareStatement("select "+fin+" from " + table);
            rs = ps.executeQuery();
            String sql = "insert into "+totable+" ("+tin+") values(?,?,?,?)";
            long i = 0;
            System.out.print("\r\nPlease Waiting The System is import the ips to dest database...\r\n\r\n");
            PreparedStatement pst = conn.prepareStatement(sql);
            while(rs.next())
            {                
                try{
	                pst.setLong(1, rs.getLong(1));
	                pst.setLong(2, rs.getLong(2));
	                String ss = rs.getString(3);
	                String sm = rs.getString(4);
	                if(ss == null || "".equals(ss))ss = " ";
	                if(sm == null || "".equals(sm))sm = " ";
	                pst.setString(3, ss);
	                pst.setString(4, sm);
	                pst.executeUpdate();
	                i ++;
                }catch(Exception ee){
                    ee.printStackTrace();
                    System.out.print("\r\nInsert Error: " + ee.getMessage() + "\r\n\r\n");
                }
                finally{
                    
                }                
            }
            try{
                pst.close();
            }catch(Exception eee){}
            System.out.print("\r\n" + i + " IPs has been input to dest table "+totable+".\r\n\r\n");
        } catch (Exception e) {
           //e.printStackTrace();
            System.out.print("\r\nError: " + e.getMessage() + "\r\n\r\n");
        } finally{
            try{
                rs.close();
            }catch(Exception eee){}
            try{
                ps.close();
            }catch(Exception eee){}
            try{
                tconn.close();
            }catch(Exception eee){}
        }
    }
    /**
     * 采用多線程處理
     * @param mdb
     * @param table
     * @param totable
     * @param fin
     * @param tin
     * @param threads
     */
    public void importIPDB(String mdb, String table, String totable, String fin, String tin, int threads) {
        String aurl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + mdb;
        PreparedStatement ps = null;
        ResultSet rs = null;
        Connection tconn = null;
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            tconn = (java.sql.Connection)DriverManager.getConnection(aurl);	 
            String mc[] = fin.split(",");
            
            ps = tconn.prepareStatement("select min("+mc[0]+"),max("+mc[0]+"),count(1) from " + table);
            rs = ps.executeQuery();
            String sql = "insert into "+totable+" ("+tin+") values(?,?,?,?)";
            long i = 0;
            int j = 0;
            long min = -1;
            long max = 0;
            System.out.print("\r\nPlease Waiting The System Start some threads to import the ips to dest database...\r\n\r\n");
            if(rs.next())
            {
                min = rs.getLong(1) - 1L;
                max = rs.getLong(2) + 1L;
                i = rs.getLong(3);
                long block = (max - min) / (long)threads;
                IPImportThread ips[] = new IPImportThread[threads];
                for(j = 0; j < threads; j++)
                {
                    long start = j * block + 1;
                    if(j == 0)start = -1;
                    long end = (j+1L) * block;
                    String sqlf = "select "+fin+" from "+table+"  where "+mc[0]+" between "+start+" and " + end;
                    //System.out.print(sqlf);
                    ips[j] = new IPImportThread(jdbc, url, pass, user, aurl, sqlf, sql, "Processor " + (j+1));
                    Thread t = new Thread(ips[j]);
                    t.start(); // 啟動一個線程。
                }
                new Thread(new Runnable(){
                    private IPImportThread[] iis;
                    public Runnable setAll(IPImportThread[] iis){
                        this.iis = iis;
                        return this;
                    }
                    public void run() {
                        boolean hasOK = true;
                        double t = (double)System.currentTimeMillis();
                        while(hasOK)
                        {
                            hasOK = false;
                            for(int i = 0; i < iis.length; i++)
                            {
                                if(!iis[i].hasOver)
                                {
                                    hasOK = true;
                                    break;
                                }
                            }
                            try {
                                Thread.sleep(1000);
                            } catch (InterruptedException e) {
                                
                            }
                        }  
                        long total = 0;
                        for(int i = 0; i < iis.length; i++)
                        {
                            total += iis[i].total;
                        }
                        System.out.println("\r\n"+total+" Ips Imported Success, Take "+(((double)System.currentTimeMillis() - t)/1000D/60D)+" minutes totally.");
                    }}.setAll(ips)).start();
            }
            System.out.print("\r\n" + i + " IPs will be input to dest table "+totable+".\r\nHave "+j+" Threads Processor is processing.\r\n\r\n");
        } catch (Exception e) {
           //e.printStackTrace();
            System.out.print("\r\nError: " + e.getMessage() + "\r\n\r\n");
        } finally{
            try{
                rs.close();
            }catch(Exception eee){}
            try{
                ps.close();
            }catch(Exception eee){}
            try{
                tconn.close();
            }catch(Exception eee){}
        }
    }
    
    public class IPImportThread implements Runnable{
        private String driver;
        private String url;
        private String pass;
        private String user;
        
        private String urlFrom;
        private static final String driverFrom = "sun.jdbc.odbc.JdbcOdbcDriver";
        private Connection tconn = null;
        private Connection fconn = null;
        private String sqlIn;
        private String sqlOut;
        private String name = "Processor";
        public boolean hasOver = false;
        public long total = 0;
        /**
    	 * method connect()
    	 * <br>
    	 */
    	private void connect() throws SQLException, ClassNotFoundException
    	{
    		Class.forName(this.driver);
    		if((this.user == null && this.pass == null)|| ("".equals(this.user.trim()) && "".equals(this.pass.trim())))
    			tconn = (java.sql.Connection)DriverManager.getConnection(this.url);			
    		else
            	tconn = (java.sql.Connection)DriverManager.getConnection(this.url, this.user, this.pass);    		
    		Class.forName(driverFrom);
    		fconn = (java.sql.Connection)DriverManager.getConnection(this.urlFrom);	    
    	}
        
        public IPImportThread(String dr, String u, String ps, String us, String uf, String in, String out, String name) throws SQLException, ClassNotFoundException
        {
            this.driver = dr;
            this.url = u;
            this.pass = ps;
            this.user = us;
            this.urlFrom = uf;
            this.sqlIn = in;
            this.sqlOut = out;
            this.name = name;
            connect();
            hasOver = false;
        }
        /* (non-Javadoc)
         * @see java.lang.Runnable#run()
         */
        public void run() {
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {         
                ps = fconn.prepareStatement(sqlIn);
                rs = ps.executeQuery();
                //long i = 0;
                //System.out.println("\r\nSQL:" + sqlIn);
                System.out.print("\r\nPlease Waiting The Thread "+name+" will import the ips to dest database...\r\n\r\n");
                PreparedStatement pst = tconn.prepareStatement(sqlOut);
                //System.out.print(sqlOut);
                while(rs.next())
                {                
                    try{
    	                pst.setLong(1, rs.getLong(1));
    	                pst.setLong(2, rs.getLong(2));
    	                String ss = rs.getString(3);
    	                String sm = rs.getString(4);
    	                if(ss == null || "".equals(ss))ss = " ";
    	                if(sm == null || "".equals(sm))sm = " ";
    	                pst.setString(3, ss);
    	                pst.setString(4, sm);
    	                pst.executeUpdate();
    	                total++;
                    }catch(Exception ee){
                        ee.printStackTrace();
                        System.out.print("\r\nInsert Error: " + ee.getMessage() + "\r\n\r\n");
                    }
                    finally{
                        
                    }                
                }
                System.out.println("\r\n"+total+" IPs imported. Thread : " + this.name + " ended.\r\n");
                try{
                    pst.close();
                }catch(Exception eee){}
            } catch (Exception e) {
               //e.printStackTrace();
                System.out.print("\r\nError: " + e.getMessage() + "\r\n\r\n");
            } finally{
                try{
                    rs.close();
                }catch(Exception eee){}
                try{
                    ps.close();
                }catch(Exception eee){}
                try{
                    tconn.close();
                }catch(Exception eee){}
                try{
                    fconn.close();
                }catch(Exception eee){}
            }
            hasOver = true;
        }
        
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品护士白丝一区av| 51久久夜色精品国产麻豆| 91国偷自产一区二区三区成为亚洲经典| 91国偷自产一区二区开放时间 | 欧美日韩第一区日日骚| 国产欧美精品在线观看| 蜜桃久久精品一区二区| 欧美综合色免费| 中文字幕二三区不卡| 九色|91porny| 91精品国产高清一区二区三区蜜臀| 日日夜夜精品视频天天综合网| 亚洲国产精品人人做人人爽| 国产精品资源在线看| 色婷婷久久久久swag精品| 国产清纯在线一区二区www| 日韩avvvv在线播放| 欧美三级电影在线观看| 亚洲欧美另类图片小说| 成人avav在线| 国产婷婷色一区二区三区在线| 麻豆精品新av中文字幕| 91麻豆精品91久久久久久清纯| 亚洲综合区在线| 日本二三区不卡| 亚洲最色的网站| 欧美亚洲另类激情小说| 一区二区三区四区高清精品免费观看| eeuss鲁片一区二区三区| 中文字幕国产精品一区二区| 国产精品白丝av| 日本一区二区视频在线| 国产aⅴ综合色| 国产精品丝袜久久久久久app| 福利一区二区在线观看| 国产午夜精品福利| 成人高清在线视频| 国产精品传媒入口麻豆| 一本色道久久加勒比精品| 亚洲情趣在线观看| 欧美在线不卡视频| 五月婷婷激情综合| 日韩欧美123| 激情成人午夜视频| 国产精品免费久久| 一本色道亚洲精品aⅴ| 一区二区三区四区高清精品免费观看 | 石原莉奈在线亚洲二区| 91精品国产综合久久久久久| 久久国产夜色精品鲁鲁99| 久久久精品中文字幕麻豆发布| 国产成人精品网址| 亚洲日本在线看| 欧美老年两性高潮| 国产一区二区三区四区五区美女| 国产欧美一区二区三区网站| 97成人超碰视| 日本中文字幕不卡| 国产欧美在线观看一区| 色诱视频网站一区| 久久精品国产一区二区三| 国产精品不卡视频| 欧美一区二区久久久| 国产成人av一区二区| 亚洲国产欧美一区二区三区丁香婷| 7777精品久久久大香线蕉| 国产一区二区调教| 亚洲综合色自拍一区| 久久久综合激的五月天| 欧美在线免费播放| 国产精品香蕉一区二区三区| 亚洲一区在线免费观看| 久久婷婷国产综合国色天香| 91福利在线播放| 九九热在线视频观看这里只有精品| 成人欧美一区二区三区视频网页| 在线不卡中文字幕播放| 大胆欧美人体老妇| 男男gaygay亚洲| 亚洲精品免费电影| 久久久久久亚洲综合| 欧美三级蜜桃2在线观看| 国产91精品在线观看| 日本成人在线网站| 亚洲精品中文在线| 欧美国产精品v| 欧美一区二区三区在线观看| 91视频在线观看免费| 精品中文字幕一区二区小辣椒 | 国产精品69毛片高清亚洲| 亚洲欧美日韩国产综合在线| 久久香蕉国产线看观看99| 欧美日韩一级视频| 91影视在线播放| 国产精一品亚洲二区在线视频| 亚洲成人777| 亚洲精品国产一区二区精华液| 久久九九久精品国产免费直播| 欧美日本韩国一区二区三区视频| 91论坛在线播放| 国产 欧美在线| 国产综合色在线| 麻豆一区二区在线| 亚洲成人精品影院| 亚洲一线二线三线视频| 亚洲色图欧美在线| 国产精品乱人伦一区二区| 久久久99久久精品欧美| 亚洲精品在线免费播放| 精品国产乱码久久久久久牛牛| 欧美一区二区黄| 日韩午夜电影av| 91精品免费在线观看| 7777女厕盗摄久久久| 欧美一级片在线观看| 91精品国产一区二区三区| 91精品婷婷国产综合久久竹菊| 欧美日韩国产综合视频在线观看| 色综合久久久久久久| 色94色欧美sute亚洲线路一久| 一本大道av一区二区在线播放| 91碰在线视频| 在线免费不卡视频| 欧美日韩在线电影| 欧美一区二区在线观看| 精品三级av在线| 国产欧美日韩精品一区| 国产精品久久99| 亚洲欧美日韩国产另类专区| 亚洲宅男天堂在线观看无病毒| 亚洲.国产.中文慕字在线| 日本中文在线一区| 精品亚洲成a人| 成人网男人的天堂| 在线观看视频91| 日韩视频中午一区| 久久久久久麻豆| 一区精品在线播放| 午夜精品视频在线观看| 久久成人免费电影| av在线播放不卡| 欧美日韩国产影片| 久久久久久毛片| 亚洲精品伦理在线| 美国毛片一区二区三区| 粉嫩av亚洲一区二区图片| 在线免费一区三区| 久久只精品国产| 一区二区视频在线看| 美女视频网站久久| 91在线观看成人| 欧美大尺度电影在线| 成人免费在线视频观看| 日本中文一区二区三区| 成人91在线观看| 日韩视频国产视频| 亚洲女厕所小便bbb| 久久av老司机精品网站导航| av电影一区二区| 日韩精品一区二区三区视频在线观看 | 色婷婷综合久久久久中文| 91精品欧美一区二区三区综合在| 国产女人aaa级久久久级| 亚洲成av人片一区二区梦乃 | 99久久免费精品| 91麻豆精品国产91久久久使用方法| 久久精品一区二区| 天堂蜜桃91精品| 色乱码一区二区三区88| 久久午夜国产精品| 亚洲bt欧美bt精品777| 91丨porny丨中文| 久久久久国产精品厨房| 石原莉奈在线亚洲二区| 色婷婷久久综合| 国产精品视频你懂的| 久久99精品久久久久婷婷| 欧美影片第一页| 亚洲免费av高清| 成人av在线播放网站| 26uuu成人网一区二区三区| 亚洲综合激情小说| 色婷婷综合久久久久中文 | 丰满少妇久久久久久久| 日韩欧美国产不卡| 日韩国产一区二| 欧美三级资源在线| 亚洲伦在线观看| 一本大道av一区二区在线播放| 国产精品毛片久久久久久| 国产成人自拍网| 久久精品综合网| 国产成人无遮挡在线视频| 欧美va在线播放| 精品一区二区三区av| 精品国产不卡一区二区三区| 老司机午夜精品| 精品国内二区三区| 国产乱子轮精品视频| 国产婷婷色一区二区三区|