Example #1
0
 function sql_db($sqlserver, $sqluser, $sqlpassword, $database = "", $persistency = true)
 {
     $this->persistency = $persistency;
     $this->user = $sqluser;
     $this->password = $sqlpassword;
     $this->server = $sqlserver;
     $this->dbname = $database;
     if ($this->persistency) {
         $this->db_connect_id = @OCIPLogon($this->user, $this->password, $this->server);
     } else {
         $this->db_connect_id = @OCINLogon($this->user, $this->password, $this->server);
     }
     if ($this->db_connect_id) {
         return $this->db_connect_id;
     } else {
         return false;
     }
 }
	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename,$mode=0)
	{
		if (!function_exists('OCIPLogon')) return null;


        $this->_errorMsg = false;
		$this->_errorCode = false;

		if($argHostname) { // added by Jorma Tuomainen <*****@*****.**>
			if (empty($argDatabasename)) $argDatabasename = $argHostname;
			else {
				if(strpos($argHostname,":")) {
					$argHostinfo=explode(":",$argHostname);
				   	$argHostname=$argHostinfo[0];
					$argHostport=$argHostinfo[1];
			 	} else {
					$argHostport = empty($this->port)?  "1521" : $this->port;
	   			}

				if ($this->connectSID) {
					$argDatabasename="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=".$argHostname
					.")(PORT=$argHostport))(CONNECT_DATA=(SID=$argDatabasename)))";
				} else
					$argDatabasename="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=".$argHostname
					.")(PORT=$argHostport))(CONNECT_DATA=(SERVICE_NAME=$argDatabasename)))";
			}
		}

 		//if ($argHostname) print "<p>Connect: 1st argument should be left blank for $this->databaseType</p>";
		if ($mode==1) {
			$this->_connectionID = ($this->charSet) ?
				OCIPLogon($argUsername,$argPassword, $argDatabasename,$this->charSet)
				:
				OCIPLogon($argUsername,$argPassword, $argDatabasename)
				;
			if ($this->_connectionID && $this->autoRollback)  OCIrollback($this->_connectionID);
		} elseif ($mode==2) {
			$this->_connectionID = ($this->charSet) ?
				OCINLogon($argUsername,$argPassword, $argDatabasename,$this->charSet)
				:
				OCINLogon($argUsername,$argPassword, $argDatabasename);

		} else {
			$this->_connectionID = ($this->charSet) ?
				OCILogon($argUsername,$argPassword, $argDatabasename,$this->charSet)
				:
				OCILogon($argUsername,$argPassword, $argDatabasename);
		}
		if (!$this->_connectionID) return false;
		if ($this->_initdate) {
			$this->Execute("ALTER SESSION SET NLS_DATE_FORMAT='".$this->NLS_DATE_FORMAT."'");
		}

		// looks like:
		// Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production
		// $vers = OCIServerVersion($this->_connectionID);
		// if (strpos($vers,'8i') !== false) $this->ansiOuter = true;
		return true;
   	}