|  |  |  | @ -15,8 +15,8 @@ import com.platform.utils.Configs; | 
			
		
	
		
			
				
					|  |  |  |  | import com.platform.utils.FileOperateHelper; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 	public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(OracleExtractHelper.class); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	public static Logger log = Logger.getLogger(OracleExtractHelper.class); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 判断dblink是否已经存在 | 
			
		
	
	
		
			
				
					|  |  |  | @ -26,22 +26,39 @@ public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            dblink的名称 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @return | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	private boolean hasSameNameDBLink(Connection conn, String linkName, String filePath) { | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 	private boolean hasSameNameDBLink(Connection conn, String linkName, | 
			
		
	
		
			
				
					|  |  |  |  | 			String filePath) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		boolean flag = false; | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "SELECT * FROM ALL_DB_LINKS WHERE DB_LINK='" + linkName+"'"; | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "SELECT COUNT(*) c FROM ALL_DB_LINKS WHERE DB_LINK='" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ linkName + "'"; | 
			
		
	
		
			
				
					|  |  |  |  | 		ResultSet rSet = null; | 
			
		
	
		
			
				
					|  |  |  |  | 		Statement statement = null; | 
			
		
	
		
			
				
					|  |  |  |  | 		try { | 
			
		
	
		
			
				
					|  |  |  |  | 			rSet = OracleConnector.getSQLExecResultSet(conn, sql, null); | 
			
		
	
		
			
				
					|  |  |  |  | 			rSet.last(); | 
			
		
	
		
			
				
					|  |  |  |  | 			if (rSet.getRow() > 0) | 
			
		
	
		
			
				
					|  |  |  |  | 				flag = true; | 
			
		
	
		
			
				
					|  |  |  |  | 			FileOperateHelper | 
			
		
	
		
			
				
					|  |  |  |  | 			.fileWrite(filePath, sql+ "\r\n"+"OK \r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 			statement = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, | 
			
		
	
		
			
				
					|  |  |  |  | 					ResultSet.CONCUR_UPDATABLE); | 
			
		
	
		
			
				
					|  |  |  |  | 			rSet = statement.executeQuery(sql); | 
			
		
	
		
			
				
					|  |  |  |  | 			if (rSet.next()) { | 
			
		
	
		
			
				
					|  |  |  |  | 				if (rSet.getInt("c") > 0) | 
			
		
	
		
			
				
					|  |  |  |  | 					flag = true; | 
			
		
	
		
			
				
					|  |  |  |  | 				else | 
			
		
	
		
			
				
					|  |  |  |  | 					flag = false; | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 			FileOperateHelper.fileWrite(filePath + ".log", sql + "\r\n" | 
			
		
	
		
			
				
					|  |  |  |  | 					+ "OK \r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  |  | 			FileOperateHelper | 
			
		
	
		
			
				
					|  |  |  |  | 			.fileWrite(filePath, sql+ "\r\n"+ e.getMessage() + "\r\n,连接异常! \r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 			FileOperateHelper.fileWrite(filePath, sql + "\r\n" + e.getMessage() | 
			
		
	
		
			
				
					|  |  |  |  | 					+ "\r\n,连接异常! \r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 			log.error(Custom4exception.threadVolume_Oracle_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 		} finally { | 
			
		
	
		
			
				
					|  |  |  |  | 			if (null != statement) { | 
			
		
	
		
			
				
					|  |  |  |  | 				try { | 
			
		
	
		
			
				
					|  |  |  |  | 					statement.close(); | 
			
		
	
		
			
				
					|  |  |  |  | 				} catch (SQLException e) { | 
			
		
	
		
			
				
					|  |  |  |  | 					log.error(Custom4exception.OracleSQL_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		return flag; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
	
		
			
				
					|  |  |  | @ -49,12 +66,13 @@ public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 创建dblink | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn 汇总库的连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc 采集库 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            dblink连接参数实体 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库的连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            采集库 dblink连接参数实体 | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public void createDBLink(Connection conn, OracleConnectorParams oc) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String linkName = "LINKTO" + oc.getName(); | 
			
		
	
		
			
				
					|  |  |  |  | 		String linkName = "LINKTO_J" + oc.getName().replaceAll("-", "_"); | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "CREATE PUBLIC DATABASE LINK " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ linkName | 
			
		
	
		
			
				
					|  |  |  |  | 				+ " CONNECT TO " | 
			
		
	
	
		
			
				
					|  |  |  | @ -66,24 +84,30 @@ public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 				+ ")))(CONNECT_DATA =(SERVICE_NAME =" + oc.getDatabaseName() | 
			
		
	
		
			
				
					|  |  |  |  | 				+ ")))\'"; | 
			
		
	
		
			
				
					|  |  |  |  | 		if (null != oc) { | 
			
		
	
		
			
				
					|  |  |  |  | 			if (hasSameNameDBLink(conn, linkName, Configs.EXTRACT_LOG_LOCALTION + oc.getName()+".log")) { // 如果dblink已经存在,先删除dblink,在创建dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				String deleteSql = "DROP PUBLIC DATABASE LINK " | 
			
		
	
		
			
				
					|  |  |  |  | 						+ linkName; | 
			
		
	
		
			
				
					|  |  |  |  | 				//删除 dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if (OracleConnector.execOracleSQL(conn, deleteSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 					if(!OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName())){ | 
			
		
	
		
			
				
					|  |  |  |  | 						OracleConnector.execUpdateOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 			if (hasSameNameDBLink(conn, linkName, Configs.EXTRACT_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 					+ oc.getName())) { // 如果dblink已经存在,先删除dblink,在创建dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				String deleteSql = "DROP PUBLIC DATABASE LINK " + linkName; | 
			
		
	
		
			
				
					|  |  |  |  | 				// 删除 dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if (OracleConnector.execOracleSQL(conn, deleteSql, | 
			
		
	
		
			
				
					|  |  |  |  | 						Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 					if (!OracleConnector.execOracleSQL(conn, sql, | 
			
		
	
		
			
				
					|  |  |  |  | 							Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 						OracleConnector.execUpdateOracleSQL(conn, sql, | 
			
		
	
		
			
				
					|  |  |  |  | 								Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 					} | 
			
		
	
		
			
				
					|  |  |  |  | 				} else { | 
			
		
	
		
			
				
					|  |  |  |  | 					Configs.CONSOLE_LOGGER.error("删除已有的DBLink失败,无法创建新的DBLink!"); | 
			
		
	
		
			
				
					|  |  |  |  | 					FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 							+ oc.getName()+".log", "删除已有的DBLink失败,无法创建新的DBLink!"+"\r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 							+ oc.getName() + ".log", | 
			
		
	
		
			
				
					|  |  |  |  | 							"删除已有的DBLink失败,无法创建新的DBLink!" + "\r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			} else { | 
			
		
	
		
			
				
					|  |  |  |  | 				// 否则,创建dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if(!OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName())){ | 
			
		
	
		
			
				
					|  |  |  |  | 					OracleConnector.execUpdateOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 				if (!OracleConnector.execOracleSQL(conn, sql, | 
			
		
	
		
			
				
					|  |  |  |  | 						Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 					OracleConnector.execUpdateOracleSQL(conn, sql, | 
			
		
	
		
			
				
					|  |  |  |  | 							Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  |  | @ -92,119 +116,158 @@ public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 创建表空间 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn 汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param collectOracle  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc 汇总库信息 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param collectOracle | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库信息 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @return | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public boolean createTableSpace(Connection conn, OracleConnectorParams collectOracle, GatherOracleInfo oc) { | 
			
		
	
		
			
				
					|  |  |  |  | 	public boolean createTableSpace(Connection conn, | 
			
		
	
		
			
				
					|  |  |  |  | 			OracleConnectorParams collectOracle, GatherOracleInfo oc) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String tmpSql = "select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME = '" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getTableName() + "'"; | 
			
		
	
		
			
				
					|  |  |  |  | 		// 存在 表空间
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (OracleConnector.execUpdateOracleSQL(conn, tmpSql, Configs.EXTRACT_LOG_LOCALTION + collectOracle.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 		if (OracleConnector.execUpdateOracleSQL(conn, tmpSql, | 
			
		
	
		
			
				
					|  |  |  |  | 				Configs.EXTRACT_LOG_LOCALTION + collectOracle.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 			return true; | 
			
		
	
		
			
				
					|  |  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  |  | 			String sql = "create tablespace " + oc.getTableName() | 
			
		
	
		
			
				
					|  |  |  |  | 					+ " datafile '" + Configs.GATHER_TABLESPACE_PATH | 
			
		
	
		
			
				
					|  |  |  |  | 					+ oc.getTableName() + ".dbf" | 
			
		
	
		
			
				
					|  |  |  |  | 					+ "' size 512M autoextend on next 512M maxsize unlimited"; | 
			
		
	
		
			
				
					|  |  |  |  | 			return OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + collectOracle.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 			return OracleConnector.execOracleSQL(conn, sql, | 
			
		
	
		
			
				
					|  |  |  |  | 					Configs.EXTRACT_LOG_LOCALTION + collectOracle.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 创建用户并授权 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn 汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc  汇总库信息 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库信息 | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public void createUser(Connection conn, OracleConnectorParams oc, GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String strTUser = oc.getName() + totalOracle.getSuffix(); | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 	public void createUser(Connection conn, OracleConnectorParams oc, | 
			
		
	
		
			
				
					|  |  |  |  | 			GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String strTUser = "J" + oc.getName().replaceAll("-", "_") | 
			
		
	
		
			
				
					|  |  |  |  | 				+ totalOracle.getSuffix(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "Create user " + strTUser + " default tablespace " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ totalOracle.getTableName() + " identified by " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ Configs.GATHER_TABLE_PASSWORD; | 
			
		
	
		
			
				
					|  |  |  |  | 		String grantSql = "grant connect, resource, dba to " + strTUser; | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, grantSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, grantSql, | 
			
		
	
		
			
				
					|  |  |  |  | 				Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 创建用户并授权 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn 汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc  汇总库信息 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库信息 | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public void createOnlyUser(Connection conn, OracleConnectorParams oc, GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 	public void createOnlyUser(Connection conn, OracleConnectorParams oc, | 
			
		
	
		
			
				
					|  |  |  |  | 			GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String strTUser = Configs.GATHER_STANDARD_USER_NAME; | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "Create user " + strTUser + " default tablespace " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ totalOracle.getTableName() + " identified by " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ Configs.GATHER_TABLE_PASSWORD; | 
			
		
	
		
			
				
					|  |  |  |  | 		String grantSql = "grant connect, resource, dba to " + strTUser; | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, grantSql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, sql, | 
			
		
	
		
			
				
					|  |  |  |  | 				Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, grantSql, | 
			
		
	
		
			
				
					|  |  |  |  | 				Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 创建用户并授权 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn 汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc  汇总库信息 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库信息 | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public void createTable(Connection conn, OracleConnectorParams oc, GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 	public void createTable(Connection conn, OracleConnectorParams oc, | 
			
		
	
		
			
				
					|  |  |  |  | 			GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String strTUser = oc.getName() + totalOracle.getSuffix(); | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "Create table " + strTUser + " default tablespace " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ totalOracle.getTableName() + " identified by " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ Configs.GATHER_TABLE_PASSWORD; | 
			
		
	
		
			
				
					|  |  |  |  | 		String grantSql = "grant connect, resource, dba to " + strTUser; | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, grantSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, grantSql, | 
			
		
	
		
			
				
					|  |  |  |  | 				Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 执行汇总操作 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn 汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc 采集库 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            采集库 | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public void extractColleDB(Connection conn, OracleConnectorParams oc, GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String strTUser = oc.getName() + totalOracle.getSuffix(); | 
			
		
	
		
			
				
					|  |  |  |  | 	public void extractColleDB(Connection conn, OracleConnectorParams oc, | 
			
		
	
		
			
				
					|  |  |  |  | 			GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String strTUser = "J" + oc.getName().replaceAll("-", "_") | 
			
		
	
		
			
				
					|  |  |  |  | 				+ totalOracle.getSuffix(); | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "SELECT 'create table " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ strTUser | 
			
		
	
		
			
				
					|  |  |  |  | 				+ ".J'|| substr(t.OWNER||'_'||t.TABLE_NAME,0,29)||' as select * from '||t.OWNER||'.'||t.TABLE_NAME||" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "'@LINKTO" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName() | 
			
		
	
		
			
				
					|  |  |  |  | 				+ ";' FROM dba_tables@LINKTO" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName() | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "'@LINKTO_J" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName().replaceAll("-", "_") | 
			
		
	
		
			
				
					|  |  |  |  | 				+ ";' FROM dba_tables@LINKTO_J" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName().replaceAll("-", "_") | 
			
		
	
		
			
				
					|  |  |  |  | 				+ " t WHERE t.TABLESPACE_NAME NOT IN ('SYSTEM','SYSAUX')" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ " and t.owner||t.table_name not in (select owner||table_name from dba_tables@LINKTO" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName() + " where 'data_type'='CLOB')"; | 
			
		
	
		
			
				
					|  |  |  |  | 		ResultSet rsSet = OracleConnector.getSQLExecResultSet(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 			try { | 
			
		
	
		
			
				
					|  |  |  |  | 				while (rsSet.next()) { | 
			
		
	
		
			
				
					|  |  |  |  | 					try { | 
			
		
	
		
			
				
					|  |  |  |  | 						rsSet.getRow(); | 
			
		
	
		
			
				
					|  |  |  |  | 						String resultSql = rsSet.getString(1).replace(";", ""); | 
			
		
	
		
			
				
					|  |  |  |  | 						OracleConnector.execUpdateOracleSQL(conn, resultSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 					} catch (SQLException e) { | 
			
		
	
		
			
				
					|  |  |  |  | 						log.error(Custom4exception.threadVolume_Oracle_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 					} | 
			
		
	
		
			
				
					|  |  |  |  | 				+ " and t.owner||t.table_name not in (select owner||table_name from dba_tables@LINKTO_J" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName().replaceAll("-", "_") | 
			
		
	
		
			
				
					|  |  |  |  | 				+ " where 'data_type'='CLOB')"; | 
			
		
	
		
			
				
					|  |  |  |  | 		/* | 
			
		
	
		
			
				
					|  |  |  |  | 		 * ResultSet rsSet = OracleConnector.getSQLExecResultSet(conn, sql, | 
			
		
	
		
			
				
					|  |  |  |  | 		 * Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		 */ | 
			
		
	
		
			
				
					|  |  |  |  | 		Statement statement = null; | 
			
		
	
		
			
				
					|  |  |  |  | 		try { | 
			
		
	
		
			
				
					|  |  |  |  | 			statement = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, | 
			
		
	
		
			
				
					|  |  |  |  | 					ResultSet.CONCUR_UPDATABLE); | 
			
		
	
		
			
				
					|  |  |  |  | 			ResultSet resultSet = statement.executeQuery(sql); | 
			
		
	
		
			
				
					|  |  |  |  | 			FileOperateHelper.fileWrite( | 
			
		
	
		
			
				
					|  |  |  |  | 					Configs.EXTRACT_LOG_LOCALTION + oc.getName() + ".log", sql | 
			
		
	
		
			
				
					|  |  |  |  | 							+ "\r\n" + "OK \r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 			 | 
			
		
	
		
			
				
					|  |  |  |  | 			while (resultSet.next()) {				 | 
			
		
	
		
			
				
					|  |  |  |  | 				try { | 
			
		
	
		
			
				
					|  |  |  |  | 					String resultSql = resultSet.getString(1).replace(";", ""); | 
			
		
	
		
			
				
					|  |  |  |  | 					OracleConnector.execUpdateOracleSQL(conn, resultSql, | 
			
		
	
		
			
				
					|  |  |  |  | 							Configs.EXTRACT_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 				} catch (SQLException e) { | 
			
		
	
		
			
				
					|  |  |  |  | 					log.error(Custom4exception.threadVolume_Oracle_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 			} catch (SQLException e) { | 
			
		
	
		
			
				
					|  |  |  |  | 				log.error(Custom4exception.threadVolume_Oracle_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 		} catch (SQLException e) { | 
			
		
	
		
			
				
					|  |  |  |  | 			log.error(Custom4exception.threadVolume_Oracle_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** 测试是否能否连接上? | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 测试是否能否连接上? | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @return true:能连接上 | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public boolean testConnect(Connection conn) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -212,32 +275,39 @@ public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 		boolean flag = false; | 
			
		
	
		
			
				
					|  |  |  |  | 		try { | 
			
		
	
		
			
				
					|  |  |  |  | 			Statement statement = conn.createStatement(); | 
			
		
	
		
			
				
					|  |  |  |  | 			if(statement.executeUpdate(testSql) > 0) | 
			
		
	
		
			
				
					|  |  |  |  | 				flag  = true; | 
			
		
	
		
			
				
					|  |  |  |  | 			if (statement.executeUpdate(testSql) > 0) | 
			
		
	
		
			
				
					|  |  |  |  | 				flag = true; | 
			
		
	
		
			
				
					|  |  |  |  | 		} catch (SQLException e) { | 
			
		
	
		
			
				
					|  |  |  |  | 			flag = false; | 
			
		
	
		
			
				
					|  |  |  |  | 			log.error(Custom4exception.threadVolume_Oracle_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		return flag; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 执行抽取操作--支付表 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn 汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc 采集库 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            采集库 | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public void extractStandardPayTable(Connection conn, OracleConnectorParams oc, GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 	public void extractStandardPayTable(Connection conn, | 
			
		
	
		
			
				
					|  |  |  |  | 			OracleConnectorParams oc, GatherOracleInfo totalOracle) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String strTUser = Configs.GATHER_STANDARD_USER_NAME; | 
			
		
	
		
			
				
					|  |  |  |  | 		createPay(conn, oc); | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "insert into " + strTUser + "." + Configs.GATHER_STANDARD_PAY_TABLE_NAME + " select * from " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ strTUser + "." + Configs.GATHER_STANDARD_PAY_TABLE_NAME +"@LINKTOST" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ oc.getName(); | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "insert into " + strTUser + "." | 
			
		
	
		
			
				
					|  |  |  |  | 				+ Configs.GATHER_STANDARD_PAY_TABLE_NAME + " select * from " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ strTUser + "." + Configs.GATHER_STANDARD_PAY_TABLE_NAME | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "@LINKTOST" + oc.getName(); | 
			
		
	
		
			
				
					|  |  |  |  | 		String resultSql = sql.replace(";", ""); | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, resultSql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, resultSql, | 
			
		
	
		
			
				
					|  |  |  |  | 				Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** 执行抽取操作--执行表 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 执行抽取操作--执行表 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param collectOracle | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oracleModel | 
			
		
	
	
		
			
				
					|  |  |  | @ -246,38 +316,43 @@ public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 			OracleConnectorParams collectOracle, GatherOracleInfo oracleModel) { | 
			
		
	
		
			
				
					|  |  |  |  | 		createExec(conn, collectOracle); | 
			
		
	
		
			
				
					|  |  |  |  | 		String strTUser = Configs.GATHER_STANDARD_USER_NAME; | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "insert into " + strTUser + "." + Configs.GATHER_STANDARD_EXEC_TABLE_NAME + " select * from " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ strTUser + "." + Configs.GATHER_STANDARD_EXEC_TABLE_NAME +"@LINKTOST" | 
			
		
	
		
			
				
					|  |  |  |  | 				+ collectOracle.getName(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		String sql = "insert into " + strTUser + "." | 
			
		
	
		
			
				
					|  |  |  |  | 				+ Configs.GATHER_STANDARD_EXEC_TABLE_NAME + " select * from " | 
			
		
	
		
			
				
					|  |  |  |  | 				+ strTUser + "." + Configs.GATHER_STANDARD_EXEC_TABLE_NAME | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "@LINKTOST" + collectOracle.getName(); | 
			
		
	
		
			
				
					|  |  |  |  | 		String resultSql = sql.replace(";", ""); | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL(conn, resultSql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + collectOracle.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		OracleConnector.execOracleSQL( | 
			
		
	
		
			
				
					|  |  |  |  | 				conn, | 
			
		
	
		
			
				
					|  |  |  |  | 				resultSql, | 
			
		
	
		
			
				
					|  |  |  |  | 				Configs.EXTRACT_STANDARD_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 						+ collectOracle.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	private void createPay(Connection conn, OracleConnectorParams oc) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String payCmd = "CREATE TABLE  u_bzbjy.zfxxb(XZQHDM Varchar(255),XZQHMC Varchar(255),PZBH Varchar(255),LYZBKZH Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "ZFDATE Varchar(255),YSDWCODE Varchar(255),YSDWNAME Varchar(255),YWGKCS Varchar(255),XMCODE Varchar(255),XMNAME Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+"XMLBCODE Varchar(255),XMLBNAME Varchar(255),ZB_NO Varchar(255),GNFLCODE Varchar(255),GNFLNAME Varchar(255),JJFLCODE Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+"JJFLNAME Varchar(255),ZJXZCODE Varchar(255),ZJXZNAME Varchar(255),JSBFFSNAME Varchar(255),SKR Varchar(255),SKRYH Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "XMLBCODE Varchar(255),XMLBNAME Varchar(255),ZB_NO Varchar(255),GNFLCODE Varchar(255),GNFLNAME Varchar(255),JJFLCODE Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "JJFLNAME Varchar(255),ZJXZCODE Varchar(255),ZJXZNAME Varchar(255),JSBFFSNAME Varchar(255),SKR Varchar(255),SKRYH Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "SKRZHZH Varchar(255),FKZHCODE Varchar(255),FKZHNAME Varchar(255),FKYHCODE Varchar(255),FKYHNAME Varchar(255),QSZHCODE Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "QSZHNAME Varchar(255),QSYHCODE Varchar(255),QSYHNAME Varchar(255),JE Numeric(18,2), SFTK Varchar(255),NIAN Varchar(255),ZY Varchar(255))"; | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		try { | 
			
		
	
		
			
				
					|  |  |  |  | 			OracleConnector.execOracleSQL(conn, payCmd, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 			OracleConnector.execOracleSQL(conn, payCmd, | 
			
		
	
		
			
				
					|  |  |  |  | 					Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  |  | 			log.error(Custom4exception.threadVolume_Oracle_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  |  | 	 * 创建dblink | 
			
		
	
		
			
				
					|  |  |  |  | 	 *  | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn 汇总库的连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc 采集库 | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            dblink连接参数实体 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param conn | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            汇总库的连接 | 
			
		
	
		
			
				
					|  |  |  |  | 	 * @param oc | 
			
		
	
		
			
				
					|  |  |  |  | 	 *            采集库 dblink连接参数实体 | 
			
		
	
		
			
				
					|  |  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  |  | 	public void createStandardDBLink(Connection conn, OracleConnectorParams oc) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String linkName = "LINKTOST" + oc.getName(); | 
			
		
	
	
		
			
				
					|  |  |  | @ -292,31 +367,50 @@ public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 				+ ")))(CONNECT_DATA =(SERVICE_NAME =" + oc.getDatabaseName() | 
			
		
	
		
			
				
					|  |  |  |  | 				+ ")))\'"; | 
			
		
	
		
			
				
					|  |  |  |  | 		if (null != oc) { | 
			
		
	
		
			
				
					|  |  |  |  | 			if (hasSameNameDBLink(conn, linkName, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()+".log")) { // 如果dblink已经存在,先删除dblink,在创建dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				String deleteSql = "DROP PUBLIC DATABASE LINK " | 
			
		
	
		
			
				
					|  |  |  |  | 						+ linkName; | 
			
		
	
		
			
				
					|  |  |  |  | 				//删除 dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if (OracleConnector.execOracleSQL(conn, deleteSql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | //					OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName());
 | 
			
		
	
		
			
				
					|  |  |  |  | 					if(!OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName())){ | 
			
		
	
		
			
				
					|  |  |  |  | 						OracleConnector.execUpdateOracleSQL(conn, sql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 			if (hasSameNameDBLink(conn, linkName, | 
			
		
	
		
			
				
					|  |  |  |  | 					Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName() | 
			
		
	
		
			
				
					|  |  |  |  | 							+ ".log")) { // 如果dblink已经存在,先删除dblink,在创建dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				String deleteSql = "DROP PUBLIC DATABASE LINK " + linkName; | 
			
		
	
		
			
				
					|  |  |  |  | 				// 删除 dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if (OracleConnector.execOracleSQL(conn, deleteSql, | 
			
		
	
		
			
				
					|  |  |  |  | 						Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 					// OracleConnector.execOracleSQL(conn, sql,
 | 
			
		
	
		
			
				
					|  |  |  |  | 					// Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName());
 | 
			
		
	
		
			
				
					|  |  |  |  | 					if (!OracleConnector.execOracleSQL( | 
			
		
	
		
			
				
					|  |  |  |  | 							conn, | 
			
		
	
		
			
				
					|  |  |  |  | 							sql, | 
			
		
	
		
			
				
					|  |  |  |  | 							Configs.EXTRACT_STANDARD_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 									+ oc.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 						OracleConnector.execUpdateOracleSQL( | 
			
		
	
		
			
				
					|  |  |  |  | 								conn, | 
			
		
	
		
			
				
					|  |  |  |  | 								sql, | 
			
		
	
		
			
				
					|  |  |  |  | 								Configs.EXTRACT_STANDARD_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 										+ oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 					} | 
			
		
	
		
			
				
					|  |  |  |  | 				} else { | 
			
		
	
		
			
				
					|  |  |  |  | 					Configs.CONSOLE_LOGGER.error("删除已有的DBLink失败,无法创建新的DBLink!"); | 
			
		
	
		
			
				
					|  |  |  |  | 					FileOperateHelper.fileWrite(Configs.EXTRACT_STANDARD_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 							+ oc.getName()+".log", "删除已有的DBLink失败,无法创建新的DBLink!"+"\r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 					FileOperateHelper.fileWrite( | 
			
		
	
		
			
				
					|  |  |  |  | 							Configs.EXTRACT_STANDARD_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 									+ oc.getName() + ".log", | 
			
		
	
		
			
				
					|  |  |  |  | 							"删除已有的DBLink失败,无法创建新的DBLink!" + "\r\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			} else { | 
			
		
	
		
			
				
					|  |  |  |  | 				// 否则,创建dblink
 | 
			
		
	
		
			
				
					|  |  |  |  | //				OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName());
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if(!OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName())){ | 
			
		
	
		
			
				
					|  |  |  |  | 					OracleConnector.execUpdateOracleSQL(conn, sql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 				// OracleConnector.execOracleSQL(conn, sql,
 | 
			
		
	
		
			
				
					|  |  |  |  | 				// Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName());
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if (!OracleConnector.execOracleSQL(conn, sql, | 
			
		
	
		
			
				
					|  |  |  |  | 						Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName())) { | 
			
		
	
		
			
				
					|  |  |  |  | 					OracleConnector.execUpdateOracleSQL( | 
			
		
	
		
			
				
					|  |  |  |  | 							conn, | 
			
		
	
		
			
				
					|  |  |  |  | 							sql, | 
			
		
	
		
			
				
					|  |  |  |  | 							Configs.EXTRACT_STANDARD_LOG_LOCALTION | 
			
		
	
		
			
				
					|  |  |  |  | 									+ oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	private void createExec(Connection conn, OracleConnectorParams oc) { | 
			
		
	
		
			
				
					|  |  |  |  | 		String execCmd = "CREATE TABLE  u_bzbjy.kzxzb(XZQHDM Varchar(255),XZQHMC Varchar(255),YSND Varchar(255),ZBCODE Varchar(255),ZB_ID Varchar(255),ZB_NO Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "ZBDJLXCODE Varchar(255),ZBDJLXNAME Varchar(255),ZBLXNAME Varchar(255),DOCNO Varchar(255),ZBSM Varchar(255),ZBFWDATE Varchar(255),ZBYSLXCODE Varchar(255)," | 
			
		
	
	
		
			
				
					|  |  |  | @ -324,9 +418,10 @@ public class OracleExtractHelper { | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "JJFLNAME Varchar(255),ZBGLCSNAME Varchar(255),SZGLCODE Varchar(255),SZGLNAME Varchar(255),XMCODE Varchar(255),XMNAME Varchar(255),GZBZ Varchar(255)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "JJBZ Varchar(255),CGBZ Varchar(255),ZFFSCODE Varchar(255),ZFFSNAME Varchar(255),JZZFBZ Varchar(255),ZBJE Numeric(18,2),ZBTJJE Numeric(18,2),ZBDJJE Numeric(18,2)," | 
			
		
	
		
			
				
					|  |  |  |  | 				+ "ZBKYJE Numeric(18,2),ZYZFBZ Varchar(255),BZ Varchar(255))"; | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		try { | 
			
		
	
		
			
				
					|  |  |  |  | 			OracleConnector.execOracleSQL(conn, execCmd, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 			OracleConnector.execOracleSQL(conn, execCmd, | 
			
		
	
		
			
				
					|  |  |  |  | 					Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); | 
			
		
	
		
			
				
					|  |  |  |  | 		} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  |  | 			log.error(Custom4exception.threadVolume_Oracle_Except, e); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  |  | 
 |