Java tutorial
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); } }