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

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

?? dccmarshal.java

?? 這是用于數(shù)據(jù)移植的原碼(SYBASE-->DB2)
?? JAVA
字號:
package com.pansky.dcc.core;

import java.io.*;
import java.lang.reflect.Method;
import java.sql.*;
import java.util.*;

/**
 * Created by IntelliJ IDEA.
 * User: 周宇
 * Date: 2005-6-30
 * Time: 13:55:04
 * To change this template use File | Settings | File Templates.
 */
public class DCCMarshal {

    public static void runGet(String table, Object obj) {

        ResourceBundle sqlRb = ResourceBundle.getBundle("SQL");
        ResourceBundle dccRb = ResourceBundle.getBundle("DCC");
        ResourceBundle tableRb = ResourceBundle.getBundle(table);
        String delimiter = dccRb.getString("DELIMETER");
        String tempPath = dccRb.getString("TEMP_DIR");
        String sql = sqlRb.getString(table);
        if (sql == null) {
            System.out.println("Table:".concat(table).concat(" was not set sql,do next!"));
        }
        try {
            Connection con = DbTool.getConnectionLink1();
            Statement st = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet rs = st.executeQuery(sql);
            rs.setFetchSize(1000);
            File file = new File(new StringBuffer(tempPath).append("/").append(table).append(".").append("dat").toString());
            FileWriter fw = new FileWriter(file);
            for (Enumeration en = tableRb.getKeys(); en.hasMoreElements();) {
                String key = (String) en.nextElement();
                fw.write(key);
                if (en.hasMoreElements()) {
                    fw.write(delimiter);
                } else {
                    //換行
                    fw.write("\r\n");
                }
            }
            int count = 0;
            int countALL = 0;
            while (rs.next()) {
                //ResultSetMetaData rsMeta =rs.getMetaData();
                count++;
                countALL++;
                for (Enumeration en = tableRb.getKeys(); en.hasMoreElements();) {
                    String key = (String) en.nextElement();
                    //warning,順序問題
                    String value = tableRb.getString(key);

                    //如果是funcation,執(zhí)行function
                    if (checkFunction(value)) {
                        fw.write(runFunction(value, rs, obj));
                    }
                    //如果是常量
                    else if (checkConstant(value)) {
                        fw.write(value.replace('\'', ' ').trim());
                    } else {
                        //處理null
                        if (rs.getObject(value) != null && rs.getObject(value).toString().length() != 0) {
                            fw.write(rs.getObject(value).toString());
                        } else {
                            fw.write("NULL");
                        }
                    }

                    if (en.hasMoreElements()) {
                        fw.write(delimiter);
                    } else {
                        //換行
                        fw.write("\r\n");
                    }
                }
                if (count % 1000 == 0) {
                    System.out.println(new StringBuffer(String.valueOf(count)).append(" rows get complete"));
                    count = 0;
                }
            }
            System.out.println(new StringBuffer(String.valueOf(count)).append(" rows get complete"));
            System.out.println(new StringBuffer(String.valueOf(countALL)).append(" rows get All"));
            //關(guān)閉
            fw.close();
            DbTool.disConnect(con);
        } catch (SQLException e) {
            System.out.println("get old data error!".concat(e.toString()));
        } catch (IOException e) {
            System.out.println("get old data error!".concat(e.toString()));
        } catch (Exception e) {
            System.out.println("get old data error!".concat(e.toString()));
        }
    }

    public static void runSet(String table) {
        ResourceBundle dccRb = ResourceBundle.getBundle("DCC");
        String delimiter = dccRb.getString("DELIMETER");
        String tempPath = dccRb.getString("TEMP_DIR");
        try {
            Connection con;
            if(table.equals("TMP_GRPETPSCH")){
                con=DbTool.getConnectionLink1();
            }else{
                con = DbTool.getConnectionLink2();
            }
            //類型
            Hashtable types = new Hashtable();
            StringBuffer sqlMeta = new StringBuffer("select * from ").append(reMoveSeq(table));

            Statement state = con.createStatement();
            ResultSet rs = state.executeQuery(sqlMeta.toString());
            ResultSetMetaData md = rs.getMetaData();
            for (int i = 1; i <= md.getColumnCount(); i++) {
                types.put(md.getColumnName(i), md.getColumnTypeName(i));
            }
            //關(guān)閉
            rs.close();
            state.close();
            File file = new File(new StringBuffer(tempPath).append("/").append(table).append(".").append("dat").toString());
            FileReader fr = new FileReader(file);
            java.io.BufferedReader br = new BufferedReader(fr);
            String line1 = br.readLine();
            //字段
            StringBuffer sbField = new StringBuffer();
            Vector fields = new Vector();
            for (StringTokenizer st = new StringTokenizer(line1, delimiter); st.hasMoreTokens();) {
                String fieldID = (String) st.nextToken();
                sbField.append(fieldID);
                fields.addElement(fieldID);
                if (st.hasMoreTokens()) {
                    sbField.append(",");
                }
            }
            String line = br.readLine();
            int count = 0;
            int countAll = 0;
            while (line != null) {
                count++;
                countAll++;
//               if(countAll==6172)

                StringBuffer sb = new StringBuffer();
                StringBuffer sbValues = new StringBuffer();
                //對字段循環(huán)
                sb.append("insert into ");
                sb.append(reMoveSeq(table));
                sb.append("(");
                sb.append(sbField.toString());
                Iterator it = fields.iterator();
                int iPos=0;
				int tmpint=0;
                while(true){
                    iPos = line.indexOf(delimiter);
                    String value = "";
                    if(iPos > -1){
                           value = line.substring(0,iPos);
                           line = line.substring(iPos+3);
                    }else{
                           value = line;
                    }
                    String type = (String) types.get(it.next());
                    if (type.equalsIgnoreCase("VARCHAR") || type.equalsIgnoreCase("CHAR") || type.equalsIgnoreCase("TEXT")) {
                        sbValues.append("'");
                        if (!value.equals("NULL")) {
                            sbValues.append(value);
                        }
                        sbValues.append("'");
                    } else {
                        sbValues.append(value);
                    }
                    if (iPos >-1) {
                        sbValues.append(",");
                    }
                    if(!(iPos > -1)){
                        break;
                    }
                }
/*                for (StringTokenizer st = new StringTokenizer(line, delimiter); st.hasMoreTokens();) {
                    String value = st.nextToken();
                    String type = (String) types.get(it.next());
                    if (type.equalsIgnoreCase("VARCHAR") || type.equalsIgnoreCase("CHAR") || type.equalsIgnoreCase("TEXT")) {
                        sbValues.append("'");
                        if (!value.equals("NULL")) {
                            sbValues.append(value);
                        }
                        sbValues.append("'");
                    } else {
                        sbValues.append(value);
                    }
                    if (st.hasMoreTokens()) {
                        sbValues.append(",");
                    }
                }*/
                sb.append(") values(");
                sb.append(sbValues.toString());
                sb.append(")");
                java.sql.Statement st = con.createStatement();
                //執(zhí)行
                //System.out.println(sb.toString());
                st.execute(sb.toString());
                st.close();
                line = br.readLine();
                if (count % 1000 == 0) {
                    System.out.println(new StringBuffer(String.valueOf(count)).append(" rows set complete"));
                    //count = 0;
                }
            }
            System.out.println(new StringBuffer(String.valueOf(count)).append(" rows set complete"));
            System.out.println(new StringBuffer(String.valueOf(countAll)).append(" rows set All"));
            //關(guān)閉
            con.commit();
            DbTool.disConnect(con);
        } catch (SQLException e) {
            System.out.println("set old data error!".concat(e.toString()));
        } catch (FileNotFoundException e) {
            System.out.println("set old data error! table ".concat(e.toString()).concat(" not has the temp file"));
        } catch (Exception e) {
            System.out.println("set old data error! table ".concat(e.toString()));
        }
    }

    /**
     * 去除小序號 ,只在查表,插表使用
     *
     * @param table
     * @return
     */
    private static String reMoveSeq(String table) {
        int index = table.indexOf("(");
        if (index > 0) {
            return table.substring(0, index);
        } else {
            return table;
        }
    }

    public static void runGetSet(String table, Object obj) {

        runGet(table, obj);
        runSet(table);
    }

    /**
     * 檢查是否函數(shù)
     *
     * @param value
     * @return
     */
    public static boolean checkFunction(String value) {
        if (value.indexOf("(") > 0 && value.indexOf(")") > 0) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 檢查是否常量
     *
     * @param value
     * @return
     */
    public static boolean checkConstant(String value) {
        if (value.startsWith("'") && value.endsWith("'")) {
            return true;
        } else {
            return false;
        }
    }

    public static String runFunction(String value, ResultSet rs, Object obj) throws Exception {
        String fun = value.substring(0, value.indexOf("("));
        StringTokenizer param = new StringTokenizer(value.substring(value.indexOf("(") + 1, value.indexOf(")")), ",");
        //ResultSetMetaData rsMD=rs.getMetaData();
        Class[] types = new Class[param.countTokens()];
        Object[] objects = new Object[param.countTokens()];

        int index = 0;
        for (; param.hasMoreTokens();) {
            String key = param.nextToken();
            //是欄位
            if (!key.startsWith("'")) {
               if (rs.getObject(key) == null) {
                    return "NULL";
                  }
                types[index] = rs.getObject(key).getClass();
                objects[index] = rs.getObject(key);
            } else {
                types[index] = String.class;
                objects[index] = key.replace('\'', ' ').trim();
            }
            index++;
        }
        try {
            try {
                Method method = obj.getClass().getMethod(fun, types);
                return method.invoke(obj, objects).toString();
            } catch (NoSuchMethodException e) {
                Object publicFun = Class.forName("com.pansky.dcc.trans.PublicFunction").newInstance();
                Method method = publicFun.getClass().getMethod(fun, types);
                return method.invoke(publicFun, objects).toString();
            }
        } catch (NoSuchMethodException e) {
            System.out.println("get old data error! trans function ".concat(fun).concat(" not exist"));
            throw e;
        } catch (Exception e) {
            System.out.println("get old data error! do function ".concat(fun).concat(" error"));
            throw e;
        }
    }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久国产精麻豆99网站 | 亚洲永久免费av| 成人午夜av电影| 国产清纯在线一区二区www| 国产成人免费xxxxxxxx| 国产精品污污网站在线观看| 99re亚洲国产精品| 亚洲小说春色综合另类电影| 制服丝袜亚洲网站| 国产一区二区在线观看免费| 欧美国产视频在线| 欧美在线视频不卡| 久久精品99久久久| 中文字幕第一区| 欧美日韩在线播放一区| 久久精品国产77777蜜臀| 久久久久久免费网| 色乱码一区二区三区88| 免费高清在线视频一区·| 国产亚洲视频系列| 国产精品色眯眯| 欧美三级电影精品| 国产乱子伦视频一区二区三区| 91蜜桃视频在线| 裸体一区二区三区| 中文字幕一区二区三区乱码在线| 另类的小说在线视频另类成人小视频在线| 经典三级视频一区| 国产精品嫩草影院av蜜臀| 欧美精品1区2区3区| 成人激情动漫在线观看| 日韩精品一级二级| 亚洲三级免费观看| 欧美v日韩v国产v| 欧美性极品少妇| 国产传媒久久文化传媒| 午夜亚洲国产au精品一区二区| 欧洲av一区二区嗯嗯嗯啊| 激情综合色播五月| 亚洲精品免费看| 国产欧美精品一区| 制服丝袜亚洲色图| 91久久久免费一区二区| 国产一区二区三区免费| 婷婷综合五月天| 亚洲精品欧美激情| 国产精品夫妻自拍| 久久久久久电影| 欧美电影在哪看比较好| 成人福利电影精品一区二区在线观看 | 亚洲人一二三区| 欧美一区二区成人| 欧美中文字幕不卡| 91免费观看视频在线| 国产电影一区二区三区| 美女视频一区二区| 亚洲国产日产av| 国产成人免费在线观看| 久久国产夜色精品鲁鲁99| 五月开心婷婷久久| 亚洲国产精品自拍| 一区二区三区91| 亚洲视频一区在线| 国产精品国产馆在线真实露脸| www.亚洲在线| 成人午夜精品在线| 国内精品免费**视频| 日本欧美久久久久免费播放网| 91精品国产福利| 欧美无人高清视频在线观看| av日韩在线网站| va亚洲va日韩不卡在线观看| 成人自拍视频在线| 不卡一卡二卡三乱码免费网站| 一二三四社区欧美黄| 亚洲欧美在线高清| 亚洲特黄一级片| 一区二区三区在线免费播放| 夜夜嗨av一区二区三区| 亚洲精品国产视频| 亚洲第一综合色| 午夜精品久久久久久久久久久| 欧美成人高清电影在线| 91精品国产入口| 日韩欧美的一区二区| 日韩免费高清av| 久久免费的精品国产v∧| 久久精品人人做| 国产精品私房写真福利视频| 国产精品久久久久婷婷| 一区二区三区免费| 亚洲国产aⅴ成人精品无吗| 丝袜脚交一区二区| 视频一区在线视频| 精品系列免费在线观看| 高清国产午夜精品久久久久久| 亚洲成va人在线观看| 毛片av一区二区三区| 韩国av一区二区| 成人免费视频网站在线观看| 本田岬高潮一区二区三区| 日本高清无吗v一区| 欧美一级片免费看| 国产日韩亚洲欧美综合| 一区二区三区欧美视频| 日韩精彩视频在线观看| 国产精品18久久久久久久久| 91免费看`日韩一区二区| 欧美丰满高潮xxxx喷水动漫| 久久久久久久久久久久久久久99| 欧美日韩视频一区二区| 久久久蜜桃精品| 依依成人精品视频| 精品亚洲成av人在线观看| 99久久精品国产一区| 欧美丝袜第三区| 久久久99精品久久| 亚洲亚洲精品在线观看| 国产精品一级在线| 欧美在线一区二区| 久久婷婷久久一区二区三区| 亚洲午夜精品一区二区三区他趣| 亚洲欧美国产77777| 精品一区精品二区高清| 91麻豆国产福利精品| 精品国产乱码久久| 一区二区三区在线视频播放 | 成人精品gif动图一区| 欧美伊人久久大香线蕉综合69| 91在线视频在线| 久久久99免费| 亚洲va韩国va欧美va| 成人国产亚洲欧美成人综合网 | 在线视频欧美精品| 国产视频一区不卡| 日本中文字幕不卡| 色婷婷综合久色| 国产精品每日更新| 另类人妖一区二区av| 欧美日韩亚洲综合在线 | 国产在线国偷精品产拍免费yy | 亚洲亚洲人成综合网络| 成人开心网精品视频| 欧美福利视频一区| 一区二区三区四区精品在线视频| 亚洲精品欧美综合四区| 成人激情校园春色| 久久久久久久久一| 久久精品av麻豆的观看方式| 欧美精品一级二级| 性欧美大战久久久久久久久| 在线欧美小视频| 亚洲色图在线看| av电影在线观看不卡| 亚洲国产高清在线| 成人网页在线观看| 久久久久国产精品免费免费搜索| 欧美国产日韩在线观看| 国产精一区二区三区| 2021国产精品久久精品| 国内精品在线播放| 久久久蜜桃精品| 国产成人免费在线视频| 国产日韩精品一区| 不卡视频在线观看| 最新热久久免费视频| 91在线无精精品入口| 亚洲美女免费视频| 欧美在线观看视频在线| 一区二区三区影院| 欧美日韩一卡二卡| 日韩一区欧美二区| 日韩一区二区三区视频在线| 免费成人你懂的| 精品免费视频.| 国产91清纯白嫩初高中在线观看 | 91免费视频网| 亚洲综合激情小说| 欧美男人的天堂一二区| 午夜视频久久久久久| 欧美一卡在线观看| 国产一区中文字幕| 国产精品青草久久| 91激情五月电影| 秋霞av亚洲一区二区三| 久久精品人人做人人综合| 99久久精品情趣| 婷婷开心激情综合| 久久久精品国产免费观看同学| 亚洲一卡二卡三卡四卡| 91精品国产综合久久久久久久久久| 国产欧美日韩另类视频免费观看| 午夜精品久久久久久久久久久| eeuss国产一区二区三区| 一区二区三区精品视频| 欧美猛男超大videosgay| 久久精品国产一区二区三区免费看| 欧美亚日韩国产aⅴ精品中极品| 久久―日本道色综合久久| 国产精品一二三|