Oracle快速导出数据文件(三)

2015-07-21 16:26:40 · 作者: · 浏览: 6
yyyymmdd')\n" + " WHEN o.run_type = 3 THEN\n" + " to_char(to_date('" + vNowDateStr + "', 'yyyymmdd hh24:mi:ss') - 1, 'yyyymmdd')\n" + " WHEN o.run_type = 4 THEN\n" + " to_char(to_date('" + vNowDateStr + "', 'yyyymmdd hh24:mi:ss') - o.run_hour, 'yyyymmdd')\n" + " WHEN o.run_type = 1 THEN\n" + " to_char(add_months(to_date('" + vNowDateStr + "', 'yyyymmdd hh24:mi:ss'), -1), 'yyyymm')\n" + " END stat_cycle_id\n" + " FROM shell_proc_db_2_db_cfg o\n" + " WHERE o.etl_type = 'Db2File'\n" + " AND o.state = 'A'\n" + " AND CASE\n" + " WHEN o.run_type = 2 THEN\n" + " to_date(to_char(to_date('" + vNowDateStr + "', 'yyyymmdd hh24:mi:ss'), 'yyyymmdd') || to_char(o.run_hour || o.run_minute), 'yyyymmddhh24mi')\n" + " WHEN o.run_type = 3 THEN\n" + " to_date(to_char(to_date('" + vNowDateStr + "', 'yyyymmdd hh24:mi:ss'), 'yyyymmdd') || to_char(o.run_hour || o.run_minute), 'yyyymmddhh24mi')\n" + " WHEN o.run_type = 4 THEN\n" + " to_date(to_char(to_date('" + vNowDateStr + "', 'yyyymmdd hh24:mi:ss'), 'yyyymmdd') || to_char(o.run_hour || o.run_minute), 'yyyymmddhh24mi')\n" + " WHEN o.run_type = 1 THEN\n" + " to_date(to_char(to_date('" + vNowDateStr + "', 'yyyymmdd hh24:mi:ss'), 'yyyymm') || o.run_day || o.run_hour || o.run_minute, 'yyyymmddhh24mi')\n" + " END <= SYSDATE) v\n" + " WHERE v.last_succ_cycle < v.stat_cycle_id\n" + " AND NOT EXISTS (SELECT 1\n" + " FROM shell_proc_db_2_db_log i\n" + " WHERE i.proc_id = v.proc_id\n" + " AND i.stat_cycle_id = v.stat_cycle_id)"; List
> arr = null; try { arr = (List >) GenericDaoImpl.query(vRunSql, null, rsh); } catch (SQLException e) { e.printStackTrace(); } return arr; }

调用测试:

?

?

public static void main(String[] args) throws IOException, InterruptedException {
		int taskSize = 13;
		// 创建一个线程池
		ExecutorService pool = Executors.newFixedThreadPool(taskSize);
		// 创建多个有返回值的任务
		//List
  
    list = new ArrayList
   
    (); /*List
    
     > procs = DataSynchronizer.getProcIdForDb2Db(); for (Map
     
       map : procs) { Callable
       db2Db = new Db2DbSync(map.get("PROC_ID").toString(), map.get("PROC_NAME").toString()); pool.submit(db2Db); }*/ List
       
        > db2Files = DataSynchronizer.getProcIdForDb2File(); for (Map
        
          map : db2Files) { Callable
          db2File = new Db2FileSync(map.get("PROC_ID").toString(), map.get("SRC_DB").toString(), map.get("DEST_DIR").toString(), map.get("SRC_SQL").toString(), map.get("FILE_NM").toString(), map.get("STAT_CYCLE_ID").toString()); pool.submit(db2File); } pool.shutdown(); }