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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? schedule.java

?? 數(shù)據(jù)庫通用適配器:實(shí)現(xiàn)行粒度的數(shù)據(jù)庫的轉(zhuǎn)換
?? JAVA
?? 第 1 頁 / 共 3 頁
字號(hào):
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd分 HH:mm:ss  ");
		System.out.println(newtk.getDATE());
		String logerrorname = null;
		String logsqlname = null;
		
		logerrorname = "log.txt";
		logsqlname = "log.txt";
		
		String error = "增量模式導(dǎo)數(shù)據(jù)失敗:\r";
		String sql = "";
		boolean bFile;
		bFile = false;
		File dirFile;
		dirFile = new File("" + root + "/src/Log");
		bFile = dirFile.exists();

		if (bFile == true) {
			 System.out.println("Log文件夾存在。");
		} else {
			System.out.println("Log文件夾不存在" + "\n" +"創(chuàng)建Log文件夾"+ "\n");
			bFile = dirFile.mkdir();
			if (bFile == true) {
				System.out.println("Log文件夾 Createsuccessfully!");
			} else {
				 System.out.println("Disable to make the folder,please check the disk is full or not.");
				System.exit(1);
			}
		}
		
		System.out.println("開始執(zhí)行創(chuàng)建模式導(dǎo)數(shù)據(jù)!………………");
		
//      *****************************與源庫建立連接,從源庫取得數(shù)據(jù)***************************************
        try {
			Class.forName(newtk.getSDriver());
		} catch (ClassNotFoundException e) {
			error += sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 無法完成源數(shù)據(jù)庫驅(qū)動(dòng)!\n";			
			log.Log("" + root + "/src/Log/" + logerrorname, error);
			System.out.println("無法完成源數(shù)據(jù)庫驅(qū)動(dòng)!");
			e.printStackTrace();
		}
        Connection conn = null;
		try {
			System.out.println(newtk.getSURL());
			conn = DriverManager.getConnection(newtk.getSURL(),newtk.getSuser(),newtk.getSpassword());
		} catch (SQLException e) {
			error += sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 無法與源數(shù)據(jù)庫建立連接!";
			log.Log("" + root + "/src/Log/" + logerrorname, error);
			System.out.println("無法與源數(shù)據(jù)庫建立連接!");
			e.printStackTrace();
		}
        
        String field = "";
        for(int i = 0; i < newtk.getS().length; i++){
        	field =field +  "," + newtk.getS()[i];
        }
        field = field.substring(1);
        String sschema = null;
        if(newtk.getSSchema() == null){
        	sschema = "";
        }
        else{
        	sschema = newtk.getSSchema();
        }
        String stable = null;
        if(newtk.getSKind().equalsIgnoreCase("excel")){
        	stable = "[Sheet1$]";
        }
        else{
        	stable = newtk.getSTab();
        }
        String query = " select " + field + " from " + sschema + "." + stable;
        System.out.println(query);
        System.out.println(newtk.getSTab());
        PreparedStatement pstm = null;
        ResultSet rs = null;
		try {
			pstm = conn.prepareStatement(query);
			rs = pstm.executeQuery();
		} catch (SQLException e) {
			error += sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 無法從源數(shù)據(jù)庫中取得數(shù)據(jù)!";
			log.Log("" + root + "/src/Log/" + logerrorname, error);
			System.out.println("無法從源數(shù)據(jù)庫中取得數(shù)據(jù)!");
			e.printStackTrace();
		}
//      *****************************與目的庫建立連接,向目的庫數(shù)據(jù)*************************************************
		try {
			Class.forName(newtk.getDDriver());
		} catch (ClassNotFoundException e) {
			error += sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 無法完成目的數(shù)據(jù)庫驅(qū)動(dòng)!";
			log.Log("" + root + "/src/Log/" + logerrorname, error);
			System.out.println("無法完成目的數(shù)據(jù)庫驅(qū)動(dòng)!");
			e.printStackTrace();
		} 
		Connection newconn = null;
			try {
				//DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); 
				newconn = DriverManager.getConnection(newtk.getDURL(),newtk.getDuser(),newtk.getDpassword());
			} catch (SQLException e) {
				error += sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 無法與目的數(shù)據(jù)庫建立連接!";
				log.Log("" + root + "/src/Log/" + logerrorname, error);
				System.out.println("無法與目的數(shù)據(jù)庫建立連接!");
				e.printStackTrace();
			}
			
//      *******************************判斷目的表是否已經(jīng)存在*****************************************************		
			
		Date da = new Date();
		SimpleDateFormat fTime = new SimpleDateFormat("yyyyMM");	
		String nowdate = fTime.format(da);
		String tablename = newtk.getDTab();
		String[] tablenameitems = tablename.split("_");
//		String tableprx = tablename.substring(0,tablename.length()-6);
		String tableprx = tablenameitems[0] + "_";
		tableprx = tableprx.toUpperCase();
		String newtablename = tableprx + nowdate;
		boolean exist = false;
		String isexist = "select * from all_tables where table_name = '" 
			+ newtablename+ "' and owner = '" + newtk.getDSchema() + "'";
		System.out.println(isexist);
		PreparedStatement exst = null;
		ResultSet exstrs = null;
		try {
			exst = newconn.prepareStatement(isexist);
			exstrs = exst.executeQuery();
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		int havenum = 0;
		try {
			while(exstrs.next()){
				//if(exstrs.getString(1).equalsIgnoreCase(newtk.getDSchema()))
					havenum++;
			}
		} catch (SQLException e1) {
			e1.printStackTrace();
		}
		if(havenum > 0){
			exist = true;
			sql = sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 目的表已經(jīng)存在,直接執(zhí)行導(dǎo)入操作!";
    		log.Log("" + root + "/src/Log/" + logsqlname, sql);
			System.out.println("目的表已經(jīng)存在,直接執(zhí)行導(dǎo)入操作!");
		}
		System.out.println(havenum);
//      ****************************目的表不存在,創(chuàng)建目的表,然后導(dǎo)入數(shù)據(jù)***************************************************		
		if(!exist)
		{	
			sql = sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 目的表不存在,創(chuàng)建目的表!";
		    log.Log("" + root + "/src/Log/" + logsqlname, sql);
		    
			System.out.println("目的表不存在,創(chuàng)建目的表!");
			String create = "create table " + newtk.getDSchema() + "." + newtablename;
			String crtfield = "";
			for (int i = 0; i < newtk.getD().length; i ++){
				
				String type = null;
				if(newtk.getDAttrb()[i].equalsIgnoreCase("number"))
					type = "NUMBER";
				if(newtk.getDAttrb()[i].equalsIgnoreCase("varchar2"))
					type = "VARCHAR2(32)";
				if(newtk.getDAttrb()[i].equalsIgnoreCase("date"))
					type = "DATE";
				if(newtk.getDAttrb()[i].equalsIgnoreCase("float"))
					type = "FLOAT";
				if(newtk.getDAttrb()[i].equalsIgnoreCase("double"))
					type = "REAL";
				if(i == 0){
					crtfield = crtfield + "," + newtk.getD()[i]+ " " + type + " Primary Key ";
				}
				else{
					crtfield = crtfield + "," + newtk.getD()[i]+ " " + type;
				}
				
			}
			crtfield = crtfield.substring(1);
			
			create = create + "( " + crtfield + " )";
			sql = sdf.format(new Date()) + " 方案:  " + newtk.getTaskName()+ create;
    		log.Log("" + root + "/src/Log/" + logsqlname, sql);
			System.out.println(create);
			
			PreparedStatement crtstm = null;
			try {
				crtstm = newconn.prepareStatement(create);
				crtstm.executeUpdate();
				sql = sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 目的表創(chuàng)建成功!";
			    log.Log("" + root + "/src/Log/" + logsqlname, sql);
				System.out.println("目的表創(chuàng)建成功!");
			} catch (SQLException e) {
				error += sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 創(chuàng)建目的表失敗!";
				log.Log("" + root + "/src/Log/" + logerrorname, error);
				System.out.println("創(chuàng)建目的表失敗!");
				e.printStackTrace();
			}
		}
		
		 String newfield = "";
	        for(int i = 0; i < newtk.getD().length; i++){
	        	newfield = newfield + "," + newtk.getD()[i];
	        }
	        newfield = newfield.substring(1);
	        String att = "";
	        for(int i = 0;i < newtk.getD().length; i++){
	        	att = att + "," + "?";
	        }
	        att = att.substring(1);
	        String insert = "insert into " + newtk.getDSchema() + "." + newtablename + "(" + newfield + ") values (" + att +")" ;
	        PreparedStatement inpstm = null;

		    System.out.println(insert);
	        int num = 0;
	        
	        try {
				while(rs.next()){
					System.out.println(newtk.getD()[0]);
					int keyword = rs.getInt(newtk.getD()[0]);
					String existitem = "select " + newtk.getD()[0] + " from " + newtk.getDSchema() + "." + newtablename +
	                   " where " + newtk.getD()[0] + " = " + keyword;
					
					System.out.println(existitem);
					System.out.println( keyword);
					PreparedStatement existitemps = newconn.prepareStatement(existitem);
					ResultSet existitemrs = existitemps.executeQuery();
 
					boolean isexistitem = existitemrs.next();
					System.out.println(newtk.getD()[0]);
					System.out.println( keyword);
					if(!isexistitem){
//						sql = sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 不存在 " + newtk.getD()[0] + " = " + keyword +" 插入!";
//					    log.Log("" + root + "/src/Log/" + logsqlname, sql);
//						System.out.println("不存在 " + newtk.getD()[0] + " = " + keyword +" 插入!");
						
						inpstm = newconn.prepareStatement(insert);
						inpstm.setInt(1,keyword);
						int attnum = 2;
						for(int i = 1; i < newtk.getS().length; i++){
			        		if(newtk.getDAttrb()[i].equalsIgnoreCase("number"))
			        			inpstm.setInt(attnum,rs.getInt(newtk.getS()[i]));
			        		if(newtk.getDAttrb()[i].equalsIgnoreCase("varchar2"))
			        			inpstm.setString(attnum,rs.getString(newtk.getS()[i]));
			        		if(newtk.getDAttrb()[i].equalsIgnoreCase("Date"))
			        			inpstm.setDate(attnum,rs.getDate(newtk.getS()[i]));
			        		if(newtk.getDAttrb()[i].equalsIgnoreCase("float"))
			        			inpstm.setFloat(attnum,rs.getFloat(newtk.getS()[i]));
			        		if(newtk.getDAttrb()[i].equalsIgnoreCase("double"))
			        			inpstm.setDouble(attnum,rs.getDouble(newtk.getS()[i]));
			        		
			        		attnum++;
			        	}			
	
												num += inpstm.executeUpdate();
						inpstm.close();
					}
					else{
//						sql = sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 存在 " + newtk.getD()[0] + " = " + keyword;
//					    log.Log("" + root + "/src/Log/" + logsqlname, sql);
//						System.out.println("存在 " + newtk.getD()[0] + " = " + keyword);
					}
				
					existitemrs.close();
					existitemps.close();
				}
			} catch (SQLException e) {
				error += sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 向目的庫數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)失敗!";
				log.Log("" + root + "/src/Log/" + logerrorname, error);
				System.out.println("向目的庫數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)失敗!");
				e.printStackTrace();
				
			}
			
	        try {
				newconn.close();	
				if(num > 0)
					inpstm.close();
				newconn.close();
				
				rs.close();
				pstm.close();
		        conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			sql = sdf.format(new Date()) + insert;
		    log.Log("" + root + "/src/Log/" + logsqlname, sql);
			
			sql = "\n" + sdf.format(new Date()) + " 方案:" + newtk.getTaskName()+ " 更新模式導(dǎo)數(shù)據(jù)結(jié)果:" + "導(dǎo)入了  " + num + " 項(xiàng)數(shù)據(jù)!\n" ;
			log.Log("" + root + "/src/Log/" + logsqlname, sql);
	        System.out.println("導(dǎo)入了  " + num + " 項(xiàng)數(shù)據(jù)!");
			System.out.println("創(chuàng)建模式導(dǎo)數(shù)據(jù)執(zhí)行完畢!");
		
	}

	public void run() {
			System.out.println("t["+ id + "] is running. Now time "+
					new Date(System.currentTimeMillis()));
			if(newtk.getImportWay().equals("更新"))
				this.renewal();
			else if(newtk.getImportWay().equals("添加"))
				this.increment();
			else if(newtk.getImportWay().equals("創(chuàng)建"))
				this.establish();

//			*****************************周期運(yùn)行線程,啟動(dòng)下一次任務(wù)****************************************		
			starttime = new Date(System.currentTimeMillis());
			Calendar c = new GregorianCalendar();
		    c.setTime(starttime);
		    switch(this.period){
			    case YEAR:
			    	c.add(Calendar.YEAR, 1);
			    	break;
			    case MONTH:
			    	c.add(Calendar.MONTH, 1);
			    	break;
			    case WEEK:
			    	c.add(Calendar.DATE, 7);
			    	break;
			    case DAY:
			    	c.add(Calendar.DATE, 1);
			    	break;
			    case HOUR:
			    	c.add(Calendar.HOUR, 1);
			    	break;
			    case MINUTE:
			    	c.add(Calendar.MINUTE, 1);
			    	break;
		    }
		    long delay = c.getTimeInMillis() - starttime.getTime();
		    System.out.println("開始執(zhí)行線程的下一周期!");
		    Schedule.scheduler.schedule(new MyThread(this.period,newtk), delay, TimeUnit.MILLISECONDS);
		    
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国际精品| 亚洲人成电影网站色mp4| 99精品视频在线观看| 秋霞午夜av一区二区三区| 国产精品久久精品日日| 日韩视频免费直播| 欧美在线观看你懂的| 国产成人精品综合在线观看 | 懂色av一区二区三区免费观看| 一区二区三区成人| 久久久777精品电影网影网| 91麻豆精品国产自产在线 | 日韩欧美中文字幕一区| 色噜噜夜夜夜综合网| 一区二区三区在线视频播放| 久久亚区不卡日本| 666欧美在线视频| 色偷偷一区二区三区| 成人在线视频一区| 韩日av一区二区| 日韩va欧美va亚洲va久久| 亚洲综合一区在线| 国产精品久久久爽爽爽麻豆色哟哟| 欧美一级生活片| 欧美日韩成人一区二区| 日本久久电影网| 99精品黄色片免费大全| 不卡电影免费在线播放一区| 丁香桃色午夜亚洲一区二区三区| 另类小说一区二区三区| 美日韩黄色大片| 老司机一区二区| 久久精品国产77777蜜臀| 蜜桃视频免费观看一区| 日本免费新一区视频| 日日夜夜一区二区| 亚洲成av人**亚洲成av**| 亚洲欧美日韩成人高清在线一区| 国产精品日日摸夜夜摸av| 久久九九全国免费| 欧美国产一区二区在线观看| 精品国产乱码久久久久久久| 精品国产露脸精彩对白| 久久无码av三级| 国产天堂亚洲国产碰碰| 国产免费久久精品| 国产精品久久久久久久久快鸭| 中文一区在线播放| 亚洲欧洲综合另类在线| 亚洲一区二区综合| 视频一区视频二区中文字幕| 视频一区二区国产| 蜜臀av一级做a爰片久久| 久久狠狠亚洲综合| 国产一区二区网址| 不卡影院免费观看| 91成人免费在线视频| 欧美日韩在线电影| 精品国产乱子伦一区| 国产精品卡一卡二| 亚洲国产日韩精品| 久久精品国产久精国产| 国产成人综合自拍| 91高清视频免费看| 日韩午夜av一区| 亚洲国产精品国自产拍av| 亚洲免费观看高清在线观看| 五月激情六月综合| 国产在线一区观看| 9人人澡人人爽人人精品| 欧美吞精做爰啪啪高潮| 日韩一区二区免费在线电影| 久久精品一区八戒影视| 亚洲欧美乱综合| 蜜臀精品一区二区三区在线观看 | 欧美日精品一区视频| 欧美一区二区三区喷汁尤物| 久久精品日产第一区二区三区高清版 | 丰满少妇久久久久久久| 91美女视频网站| 欧美精品丝袜久久久中文字幕| 久久久综合激的五月天| 亚洲女厕所小便bbb| 日韩国产在线观看| caoporn国产精品| 欧美一区二区视频在线观看2020| 日本一区二区三区四区| 丝袜美腿成人在线| 99精品视频一区二区三区| 日韩精品影音先锋| 亚洲欧美成aⅴ人在线观看| 狠狠色狠狠色综合系列| 在线视频一区二区三| 久久久亚洲国产美女国产盗摄| 一区二区日韩av| 国产成人鲁色资源国产91色综| 欧美日韩一区二区三区在线看| 久久一留热品黄| 日本欧美一区二区在线观看| 99久久久国产精品免费蜜臀| 日韩精品中午字幕| 亚洲小说春色综合另类电影| a在线播放不卡| 精品99一区二区| 亚洲一卡二卡三卡四卡五卡| 高清不卡一二三区| 精品国产一区二区三区忘忧草| 亚洲高清中文字幕| 99久久婷婷国产综合精品电影 | 欧美无乱码久久久免费午夜一区 | 亚洲国产激情av| 美脚の诱脚舐め脚责91| 91福利国产成人精品照片| 国产精品久久久久久久蜜臀 | 日本va欧美va瓶| 91福利视频久久久久| 国产精品久久久久久久第一福利 | 国产福利一区在线| 3d动漫精品啪啪一区二区竹菊 | 亚洲主播在线播放| 91丨porny丨国产入口| 国产清纯白嫩初高生在线观看91| 麻豆精品精品国产自在97香蕉| 在线视频你懂得一区| 亚洲色图另类专区| 99久久久国产精品免费蜜臀| 国产精品麻豆久久久| 国产99久久精品| 国产日本欧美一区二区| 国产一区二区三区高清播放| 欧美v国产在线一区二区三区| 日韩av一级电影| 91精品久久久久久久99蜜桃| 婷婷国产v国产偷v亚洲高清| 欧美日韩一区二区三区在线| 亚洲图片欧美视频| 欧美日韩精品三区| 夜夜嗨av一区二区三区网页| 在线视频一区二区免费| 偷拍亚洲欧洲综合| 日韩一区二区三区四区五区六区| 日韩精品91亚洲二区在线观看| 欧美蜜桃一区二区三区| 免费观看在线色综合| 精品成人a区在线观看| 国产乱妇无码大片在线观看| 中文字幕av一区 二区| 91在线精品秘密一区二区| 亚洲美女免费视频| 7777精品伊人久久久大香线蕉的| 天天综合网 天天综合色| 日韩一区二区视频| 精油按摩中文字幕久久| 国产午夜精品理论片a级大结局 | 亚洲成人www| 欧美成人aa大片| 国产成人亚洲精品狼色在线| 中文字幕一区二区三区视频| 色老综合老女人久久久| 亚洲国产人成综合网站| 日韩一区二区精品葵司在线| 国产精品18久久久久久久网站| 亚洲国产激情av| 欧美性做爰猛烈叫床潮| 捆绑调教美女网站视频一区| 日本一区二区三区在线不卡| 91成人国产精品| 久久电影网站中文字幕| 国产精品久久久久久久岛一牛影视| 欧美专区亚洲专区| 精品一区二区三区蜜桃| 一区二区中文视频| 欧美一区二区美女| 成人av集中营| 天天操天天色综合| 欧美激情一区二区三区四区| 欧美制服丝袜第一页| 韩国精品久久久| 亚洲欧美一区二区三区久本道91| 在线电影一区二区三区| 成人免费视频视频在线观看免费 | 中文字幕在线不卡一区二区三区| 欧美三级在线播放| 国产伦精品一区二区三区免费 | 亚洲人成精品久久久久| 欧美大白屁股肥臀xxxxxx| youjizz国产精品| 久久av中文字幕片| 亚洲综合色成人| 国产精品视频免费| 精品99一区二区| 欧美性色aⅴ视频一区日韩精品| 国产一区二区不卡| 日本免费在线视频不卡一不卡二| 一区精品在线播放| 国产喷白浆一区二区三区| 欧美精品视频www在线观看| 91在线丨porny丨国产| 国产曰批免费观看久久久| 舔着乳尖日韩一区|