由于公司数据库没有进行分库分表,导出上亿数据量时,内存溢出已经解决但是存在速度很慢的问题,在不允许动表情况下还未找到解决办法。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.omg.CORBA.PUBLIC_MEMBER;
import com.f1j.ss.t;
import com.f1j.util.br;
import com.lowagie.tools.concat_pdf;
import com.sinosoft.lis.pubfun.PubFun;
import com.sinosoft.utility.DBConnPool;
import com.sinosoft.utility.ExeSQL;
import com.sinosoft.utility.SSRS;
public class LisTransferBL {
private static String path;
private final static String[] ss = { "T_POLICY_MAIN", "", "", "", "", "",
"", "" };
private static List<String> bugschema = new ArrayList<String>();
private static Map<String, String> bigschema = new HashMap<String, String>();
private static Map<String, String> yearschema = new HashMap<String, String>();
private static Map<String, String> caoschema = new HashMap<String, String>();;
static {
// 不能查询的表格
String[] s1 = { "RATE121501", "SUPPRISKSCORE240301", "MISETLDATE_2",
"SMT", "TEMPYJ", "LQGRPCONTDAYDATA", "LL", "LDCODE_2",
"RATE646_B", "RATE646_C", "TEMPGET", "STMT_SQL",
"TABLESPACE_TABL", "CONTROL_TABL", "CASHVALUE285",
"CASHVALUE237", "GETFEE330801", "CASHVALUE284", "RATE290",
"CASHVALUE290", "CASHVALUE238", "CTRATE331501", "RATE331501",
"GETFEE331501", "LXUPDATELOG", "STATSQLCONFIG_2009",
"RATE6601_1", "RATE6601_0", "CONTTEST", "TEMP330501:286707",
"Rate550806", "PAYTIMES662", "RATE6623",
"LPEDORESPECIALDATA0520", "RATE662", "LDMENU_BAK20090701",
"RISKDEATHRATE331601", "RATE6622", "LABANKMISION_S",
"RISKRATE331901", "FINPREM_YM_TB_01", "RATE6621", "POLNO",
"INTFDATATRACE_SH", "RATE243", "RATE277", "CASHVALUE239",
"CASHVALUE240", "RATE245", "RATE244", "TEMPYYL", "POLNO_2",
"LCGRPEDOR", "RATE2301", "RATE2601", "RATE5201", "RATE550706",
"RATE550806", "RE230801", "RE230901", "LOBGRPPOSITION",
"RATE6693", "RATE6692", "RATE6691", "LPCERTIFYINSURED",
"CASHVALUE208", "RATE208", "CASHVALUE217", "RATE217",
"LPGRPPOSITION", "CASHVALUE301", "CASHVALUE302",
"LBASCRIPTIONRULEFACTORY", "LPASCRIPTIONRULEFACTORY",
"LOBASCRIPTIONRULEFACTORY", "LBASCRIPTIONRULEPARAMS",
"LPASCRIPTIONRULEPARAMS", "LOBASCRIPTIONRULEPARAMS",
"LCGRPFEETOACC", "LBRISKZTFEE", "LPRISKZTFEE", "LOBRISKZTFEE",
"LDDINGHOSPITALB", "LQGRPPREMDATA", "LPRREPORTITEM",
"GETFEE332601", "GETFEE332501", "CTRATE332501",
"RISKRATE332501", "RATE304", "CASHVALUE309", "RATE309",
"CASHVALUE314", "RATE314", "RATE308", "TESTCONFIG",
"FORMU330501_YEAR", "CZL_TEST", "GETFEE332701", "CTRATE332701",
"LICRMCONTTRACK", "SUPPRISKSCORE231501B",
"SUPPRISKSCORE231501A", "RATE231501A", "RATE231501B",
"SUPPRISKSCORE231502A", "SUPPRISKSCORE231502B",
"PREMYZ333102A", "PREMYZ333102B", "PREMYZ231502A",
"PREMYZ231502B", "RATE231502A", "RATE231502B", "RATE333101A",
"RATE333101B", "RATE333102A", "RATE333102B", "CASHVALUE333601",
"RATE231601", "RATE333601", "SUPPRISKSCORE231601", "RATE5608",
"PLANQDWZBRIEF", "RATE561101", "LLCASEAFEHZ1t",
"LLCASEAFEHZ1s", "RATE551401", "RATE122101_2", "RATE122101_3",
"插入网点SQL", "LDCODE_DATA", "LLCLAIMUWMAIN_DATA",
"LLCLAIMUWMDETAIL_DATA", "ADMIN_MOVE_TABLE_YM",
"LLCASE20161012", "EXPLAIN_INSTANCE", "EXPLAIN_STATEMENT",
"EXPLAIN_ARGUMENT", "EXPLAIN_OBJECT", "EXPLAIN_OPERATOR",
"EXPLAIN_PREDICATE", "EXPLAIN_STREAM", "ADVISE_INSTANCE",
"ADVISE_INDEX", "ADVISE_WORKLOAD", "ADVISE_MQT",
"ADVISE_PARTITION", "ADVISE_TABLE", "EXPLAIN_ACTUALS",
"LRCESSLISTBAK" };
bugschema = Arrays.asList(s1);
// 没有makedate的大表
bigschema.put("LCGCUWERROR", "modifydate");
bigschema.put("CUST_INFO", "etltime");
bigschema.put("LCCUWERROR", "modifydate");
bigschema.put("LCGUWERROR", "modifydate");
bigschema.put("LCUWERROR", "modifydate");
bigschema.put("LDTASKRUNLOG", "executedate");
bigschema.put("HISTORY", "outputdate");
bigschema.put("LOBCUWERROR", "modifydate");
bigschema.put("LOBGCUWERROR", "modifydate");
bigschema.put("LOBUWERROR", "modifydate");
bigschema.put("LYRETURNFROMBANK", "modifydate");
bigschema.put("LCPENOTICEITEM", "modifydate");
bigschema.put("LICRMCONTINFO", "modifydate");
bigschema.put("TEMPRP", "paydate");
bigschema.put("POL_MAIN_BAK", "input_date");
bigschema.put("ENDO_FEE_BAK", "app_date");
bigschema.put("WFCONTLIST", "activedate");
bigschema.put("INTFDATATRACE", "policydate");
bigschema.put("WFTRANSLOG", "senddate");
bigschema.put("LRDUTY", "modifydate");
bigschema.put("ENDO_FEE", "app_date");
bigschema.put("TEMP_GOLDELEPHANT", "signdate");
bigschema.put("TEMP_GOLDELEPHANT2", "sig