package spider.tools;
import java.sql.*;
public class DBTools {
public static final int ORACLE = 0; public static final int SQLSERVER = 1;
private static String oracleDriver = "oracle.jdbc.driver.OracleDriver"; private static String sqlserverDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
public Connection createConnection(String host, String dataBase, String user, String password, int dbKind) { Connection result = null;
String dbUrl = null; String dbDriver = null;
if (dbKind == ORACLE) { dbUrl = createOracleUrl(host, dataBase); dbDriver = oracleDriver; } else if (dbKind == SQLSERVER) { dbUrl = createSqlserverUrl(host, dataBase); dbDriver = sqlserverDriver; } else { MyUtil.log( "initial database connection failure: " + "Unsupport data base!"); return null; }
try { Class.forName(dbDriver); result = DriverManager.getConnection(dbUrl, user, password); } catch (Exception e) { MyUtil.log( "initial database connection failure: " + e.toString()); return null; } return result; }
public String createOracleUrl(String host, String dataBase) { String oracleUrl = "jdbc:oracle:thin:@" + host + ":1521:" + dataBase; return oracleUrl; }
public String createSqlserverUrl(String host, String dataBase) { String sqlServerUrl = "jdbc:microsoft:sqlserver://" + host + ":1433;DatabaseName=" + dataBase; return sqlServerUrl; } public boolean isTableExist(Connection cnn, String table) { boolean result = false; String strSQL = "select * from sysobjects where id=object_id('" + table + "')"; Statement st = null; ResultSet rs = null; try { st = cnn.createStatement(); rs = st.executeQuery(strSQL); if(rs.next()) result = true; } catch (SQLException ex) { MyUtil.log("Error happen when check table existance! table name: " + table); } finally { if (st != null) { try { st.close(); } catch (SQLException ex1) {} } if (rs != null) { try { rs.close(); } catch (SQLException ex1) {} } } return result; }
public boolean clearTable(Connection cnn, String table) { if (!isTableExist(cnn, table)) return false; boolean flag = true; PreparedStatement ps = null; try { ps = cnn.prepareStatement("delete from " + table); ps.executeUpdate(); } catch (Exception e) { flag = false; } finally { if (ps != null) { try { ps.close(); } catch (SQLException ex) {} } } return flag; }
} 
|