ORACLE 的一个连接报错,很久没用了,突然客户那边要用ORAcle,临时加了一个连接,测试正常,放客户那边就是这报错,加上客户那边脾气大,那边只能远程加远程,传说中的烦上加烦出现了,查资料发现好像是他们设置了TNS连接?反正问他们他们也不懂,三种连接配置搞了一波,无数次实验发现要这样
jdbc.url1= jdbc:oracle:thin:@ip:1521/服务名
jdbc.driver1= oracle.jdbc.OracleDriver jdbc.username1= XX jdbc.password1= XX
对,好像是他们把默认的,orcl也改了?太高端了,反正也不懂,就这样吧,
对了,有两个记一下,
<dependency> <groupId>com.oracle.ojdbc</groupId> <artifactId>ojdbc8</artifactId> <version>19.3.0.0</version> </dependency> <dependency> <groupId>cn.easyproject</groupId> <artifactId>orai18n</artifactId> <version>12.1.0.2.0</version> </dependency>
再下面就不重要了
不好搞配置就jdbc
package com.xexun.utils; import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.stereotype.Component; import java.io.InputStream; import java.sql.*; import java.util.Properties; /** * Created by lijunqi on 2015/3/25. */ @Component public class JdbcUtils { private static Logger logger = LogManager.getLogger(JdbcUtils.class); private static String jdbc_driver; private static String jdbc_url; private static String jdbc_username; private static String jdbc_password; private static String oracle_jdbc_driver; private static String oracle_jdbc_url; private static String oracle_jdbc_username; private static String oracle_jdbc_password; private final static int TABLE_NUM = 10; public static Boolean IS_CHINA_SERVER = true; public static Boolean IS_GPS_SERVER = true; public static Boolean MONGO_SWITCH; public static Boolean IS_HUNAN_SERVER; public static Boolean IS_TEST_SERVER; public static Boolean IS_CHINA = Boolean.TRUE; public static String AUDIO_PATH; public static Boolean IS_TEST_AUDIO; public static Integer AUDIO_BITE_RATE; public static Boolean IS_TEST_GATHER_TASK; public static Boolean IS_NEED_SELECT_TELEPHONE_FARE; public static Boolean TEST_UWB_GATHER_TASK; public static String UWB_DEFAULT_DEPT_ID; public static Integer UWB_GPS_KEEPALIVED_DAYS = -3; static { Properties prop = new Properties(); InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"); // InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("application.properties"); try { prop.load(is); jdbc_driver = prop.getProperty("jdbc.driver1"); Class.forName(jdbc_driver); jdbc_url = prop.getProperty("jdbc.url1"); jdbc_username = prop.getProperty("jdbc.username1"); jdbc_password = prop.getProperty("jdbc.password1"); IS_CHINA_SERVER = Boolean.valueOf(prop.getProperty("is.china.server")); IS_CHINA = Boolean.valueOf(prop.getProperty("is.china")); IS_GPS_SERVER = Boolean.valueOf(prop.getProperty("is.gps.server")); MONGO_SWITCH = Boolean.valueOf(prop.getProperty("mongo_switch")); IS_HUNAN_SERVER = Boolean.valueOf(prop.getProperty("is.hunam.server")); IS_TEST_SERVER = Boolean.valueOf(prop.getProperty("is_test_server")); AUDIO_PATH = prop.getProperty("audio.path"); IS_TEST_AUDIO = Boolean.valueOf(prop.getProperty("is.test.audio")); AUDIO_BITE_RATE = Integer.valueOf(StringUtils.isEmpty(prop.getProperty("audio.bite.rate")) ? "16000" : prop.getProperty("audio.bite.rate")); IS_TEST_GATHER_TASK = Boolean.valueOf(StringUtils.isEmpty(prop.getProperty("is.test.gather.task")) ? "false" : prop.getProperty("is.test.gather.task")); IS_NEED_SELECT_TELEPHONE_FARE = Boolean.valueOf(StringUtils.isEmpty(prop.getProperty("is.need.select.telephone.fare")) ? "false" : prop.getProperty("is.need.select.telephone.fare")); TEST_UWB_GATHER_TASK = Boolean.valueOf(StringUtils.isEmpty(prop.getProperty("is.test.uwb.gather.task")) ? "true" : prop.getProperty("is.test.uwb.gather.task")); UWB_DEFAULT_DEPT_ID = StringUtils.isEmpty(prop.getProperty("uwb.term.dept.id")) ? "2" : prop.getProperty("uwb.term.dept.id"); UWB_GPS_KEEPALIVED_DAYS = Integer.valueOf(StringUtils.isEmpty(prop.getProperty("uwb.gps.keepalived.days")) ? "-3" : prop.getProperty("uwb.gps.keepalived.days")); /* oracle_jdbc_driver = prop.getProperty("oracle_jdbc.driver"); Class.forName(oracle_jdbc_driver); oracle_jdbc_url = prop.getProperty("oracle_jdbc_url"); oracle_jdbc_username = prop.getProperty("oracle_jdbc_username"); oracle_jdbc_password = prop.getProperty("oracle_jdbc_password");*/ } catch (Exception e) { e.printStackTrace(); } } // static { // Properties prop = new Properties(); // InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"); InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("application.properties"); // try { // prop.load(is); // // jdbc_driver = prop.getProperty("jdbc.driver"); // Class.forName(jdbc_driver); // jdbc_url = prop.getProperty("jdbc.url"); // jdbc_username = prop.getProperty("jdbc.username"); // jdbc_password = prop.getProperty("jdbc.password"); // // // IS_CHINA_SERVER = Boolean.valueOf(prop.getProperty("is.china.server")); // IS_CHINA = Boolean.valueOf(prop.getProperty("is.china")); // IS_GPS_SERVER = Boolean.valueOf(prop.getProperty("is.gps.server")); // // MONGO_SWITCH = Boolean.valueOf(prop.getProperty("mongo_switch")); // // IS_HUNAN_SERVER = Boolean.valueOf(prop.getProperty("is.hunam.server")); // // IS_TEST_SERVER = Boolean.valueOf(prop.getProperty("is_test_server")); // // AUDIO_PATH = prop.getProperty("audio.path"); // IS_TEST_AUDIO = Boolean.valueOf(prop.getProperty("is.test.audio")); // // AUDIO_BITE_RATE = Integer.valueOf(StringUtils.isEmpty(prop.getProperty("audio.bite.rate")) ? "16000" : prop.getProperty("audio.bite.rate")); // // IS_TEST_GATHER_TASK = Boolean.valueOf(StringUtils.isEmpty(prop.getProperty("is.test.gather.task")) ? "false" : prop.getProperty("is.test.gather.task")); // // IS_NEED_SELECT_TELEPHONE_FARE = Boolean.valueOf(StringUtils.isEmpty(prop.getProperty("is.need.select.telephone.fare")) ? "false" : prop.getProperty("is.need.select.telephone.fare")); // // // TEST_UWB_GATHER_TASK = Boolean.valueOf(StringUtils.isEmpty(prop.getProperty("is.test.uwb.gather.task")) ? "true" : prop.getProperty("is.test.uwb.gather.task")); // // // UWB_DEFAULT_DEPT_ID = StringUtils.isEmpty(prop.getProperty("uwb.term.dept.id")) ? "2" : prop.getProperty("uwb.term.dept.id"); // // UWB_GPS_KEEPALIVED_DAYS = Integer.valueOf(StringUtils.isEmpty(prop.getProperty("uwb.gps.keepalived.days")) ? "-3" : prop.getProperty("uwb.gps.keepalived.days")); // // // /* oracle_jdbc_driver = prop.getProperty("oracle_jdbc.driver"); // Class.forName(oracle_jdbc_driver); // oracle_jdbc_url = prop.getProperty("oracle_jdbc_url"); // oracle_jdbc_username = prop.getProperty("oracle_jdbc_username"); // oracle_jdbc_password = prop.getProperty("oracle_jdbc_password");*/ // // // } catch (Exception e) { // e.printStackTrace(); // } // // } public static Connection getConnection() { Connection connection = null; try { connection = DriverManager.getConnection(jdbc_url, jdbc_username, jdbc_password); } catch (SQLException e) { e.printStackTrace(); } return connection; } public static Connection getOracleConnection() { Connection connection = null; try { connection = DriverManager.getConnection(oracle_jdbc_url, oracle_jdbc_username, oracle_jdbc_password); } catch (SQLException e) { e.printStackTrace(); } return connection; } public static void closeConnection(Connection connection) { if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void closeConnection(Connection connection, Statement statement) { if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void closeConnection(Connection connection, Statement statement, ResultSet resultSet) { if (resultSet != null) { try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
-----------------
String sql = "select * from " + table; // String sql = "select * from " + table + " " + where + " " + orderBy; String sqlTotal = sql.replace(" * ", " COUNT(0) "); System.err.println(sqlTotal); List<Map<String, Object>> maps1 = ReflactUtils.goSql(sqlTotal); Integer count = Integer.valueOf(maps1.get(0).get("COUNT(0)").toString()); // p.setTotalRow(count); if (count > 0) { String s = sql; // String s = "SELECT * FROM (SELECT t.*, ROWNUM AS rowno FROM (" + sql + ") t ) WHERE rowno>" + start + " AND rowno<=" + end; log.error(s); List<Map<String, Object>> records = ReflactUtils.goSql(s); // JSONArray records = jsonObject.getJSONArray("records");// log.error("records==========" + records); Set<String> set =new HashSet<>(); for (int i = 0; i < records.size(); i++) { // JSONObject jsonObject1 = records.getJSONObject(i); Map<String, Object> stringObjectMap = records.get(i); String rybh = mapNullStr(stringObjectMap.get("CODE") );