/** * */ package webctdbexport.jdbc; import java.io.File; import java.io.FileReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; /** * @author cmg * */ public class JdbcUtils { static Logger logger = Logger.getLogger(JdbcUtils.class.getName()); public static Connection getConnection(String propsfile) { Properties props = new Properties(); try { props.load(new FileReader(new File(propsfile))); } catch (Exception e) { logger.log(Level.SEVERE, "Error reading properties file "+propsfile, e); System.exit(-1); } String driverClassName = props.getProperty("driver_class", "oracle.jdbc.driver.OracleDriver"); String url = props.getProperty("url", "jdbc:oracle:thin:@HOST:PORT:SID"); String username = props.getProperty("username", "USERNAME"); String password = props.getProperty("password", "PASSWORD"); String schema = props.getProperty("schema", null); try { logger.log(Level.INFO, "Load JDBC driver class "+driverClassName); Class.forName(driverClassName); } catch (Exception e) { logger.log(Level.SEVERE, "Error loading JDBC driver class "+driverClassName, e); System.exit(-1); } Connection conn = null; try { logger.log(Level.INFO, "Open DB connection "+url); conn = DriverManager.getConnection(url, username, password); } catch (SQLException e) { logger.log(Level.SEVERE, "Error getting database connection to "+url+" as "+username+" with "+password, e); System.exit(-1); } if (schema!=null) { try { logger.log(Level.INFO, "Set schema to "+schema); Statement stmt = conn.createStatement(); stmt.execute("ALTER SESSION SET CURRENT_SCHEMA="+schema); } catch (SQLException e) { logger.log(Level.WARNING, "Could not set schema to "+schema, e); } } return conn; } }