OracleDataSource.java Source code

Java tutorial

Introduction

Here is the source code for OracleDataSource.java

Source

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

}