import java.io.PrintWriter; 
import java.sql.*; 
import javax.sql.*; 
 
public class OracleDataSource implements DataSource { 
 
  static { 
    new oracle.jdbc.driver.OracleDriver(); 
  } 
 
  protected boolean usingThinDriver; 
 
  protected String description = "Oracle Data Source"; 
 
  protected String serverName; 
 
  protected int portNumber; 
 
  protected String databaseName; 
 
  public OracleDataSource(String host, int port, String sid) { 
    setServerName(host); 
    setPortNumber(port); 
    setDatabaseName(sid); 
    usingThinDriver = true; 
  } 
 
  public OracleDataSource(String sid) { 
    setDatabaseName(sid); 
    usingThinDriver = false; 
  } 
 
  public boolean isUsingThinDriver() { 
    return usingThinDriver; 
  } 
 
  public void setUsingThinDriver(boolean thin) { 
    usingThinDriver = thin; 
  } 
 
  public String getDescription() { 
    return description; 
  } 
 
  public void setDescription(String desc) { 
    description = desc; 
  } 
 
  public String getServerName() { 
    return serverName; 
  } 
 
  public void setServerName(String name) { 
    serverName = name; 
  } 
 
  public int getPortNumber() { 
    return portNumber; 
  } 
 
  public void setPortNumber(int port) { 
    portNumber = port; 
  } 
 
  public String getDatabaseName() { 
    return databaseName; 
  } 
 
  public void setDatabaseName(String name) { 
    databaseName = name; 
  } 
 
  public Connection getConnection() throws SQLException { 
    return getConnection(null, null); 
  } 
 
  public Connection getConnection(String userid, String password) throws SQLException { 
    String url = "jdbc:oracle:" + getSubname(); 
    return DriverManager.getConnection(url, userid, password); 
  } 
 
  protected String getSubname() { 
    return (isUsingThinDriver() ? "thin:@" + getServerName() + ":" + getPortNumber() + ":" 
        + getDatabaseName() : "oci8:@" + getDatabaseName()); 
  } 
 
  public int getLoginTimeout() throws SQLException { 
    return DriverManager.getLoginTimeout(); 
  } 
 
  public PrintWriter getLogWriter() throws SQLException { 
    return DriverManager.getLogWriter(); 
  } 
 
  public void setLoginTimeout(int timeout) throws SQLException { 
    DriverManager.setLoginTimeout(timeout); 
  } 
 
  public void setLogWriter(PrintWriter writer) throws SQLException { 
    DriverManager.setLogWriter(writer); 
  } 
 
} 
 
    
  
  |