driver = "oracle.jdbc.driver.OracleDriver";
driver = "oracle.jdbc.OracleDriver";
  public boolean connectInternal(Env env,                                 @Optional("localhost") String host,                                 @Optional String userName,                                 @Optional String password,                                 @Optional String dbname,                                 @Optional("5432") int port,                                 @Optional String socket,                                 @Optional int flags,                                 @Optional String driver,                                 @Optional String url)  {    if (isConnected()) {      env.warning(L.l("Connection is already opened to '{0}'", this));      return false;    }    try {      if (host == null || host.equals(""))        host = "localhost";      if (driver == null || driver.equals("")) {        driver = "oracle.jdbc.driver.OracleDriver";      }      if (url == null || url.equals("")) {        if (dbname.indexOf("//") == 0) {          // db is the url itself: "//db_host[:port]/database_name"          url = "jdbc:oracle:thin:@" + dbname.substring(2);          url = url.replace('/', ':');        } else {          url = "jdbc:oracle:thin:@" + host + ":" + port + ":" + dbname;        }      }      Connection jConn = env.getConnection(driver, url, userName, password);      setConnection(host, userName, password, dbname, port, jConn, driver, url);      return true;    } catch (SQLException e) {      env.warning("A link to the server could not be established. " + e.toString());      env.setSpecialValue("oracle.connectErrno",new LongValue(e.getErrorCode()));      env.setSpecialValue("oracle.connectError", new StringValueImpl(e.getMessage()));      log.log(Level.FINE, e.toString(), e);      return false;    } catch (Exception e) {      env.warning("A link to the server could not be established. " + e.toString());      env.setSpecialValue("oracle.connectError", new StringValueImpl(e.getMessage()));      log.log(Level.FINE, e.toString(), e);      return false;    }  }