function Open()
	{
		$this->Observe("DataAdapter ($this->_label) Opening Connection...",OBSERVE_DEBUG);
		
		if ($this->_dbopen)
		{
			$this->Observe("DataAdapter ($this->_label) Connection Already Open",OBSERVE_WARN);
		}
		else
		{
			if (!$this->_driver) $this->LoadDriver();
			
			try
			{
				$this->_dbconn = $this->_driver->Open(
					$this->ConnectionSetting->ConnectionString, 
					$this->ConnectionSetting->DBName, 
					$this->ConnectionSetting->Username, 
					$this->ConnectionSetting->Password,
					$this->ConnectionSetting->Charset,
					$this->ConnectionSetting->BootstrapSQL);
				
				$this->_num_retries = 0;
			}
			catch (Exception $ex)
			{
				// retry one time a communication error occurs
				if ($this->_num_retries == 0 && DataAdapter::$RETRY_ON_COMMUNICATION_ERROR && $this->IsCommunicationError($ex))
				{
					$this->_num_retries++;
					$this->Observe("DataAdapter ($this->_label) Communication error.  Retry attempt " . $this->_num_retries, OBSERVE_WARN);
					sleep(2); // slight delay to prevent throttling
					return $this->Open();
				}

				$msg = "DataAdapter ($this->_label) Error Opening DB: " . $ex->getMessage() . ' (retry attempts: '.$this->_num_retries.')';
					
				$this->Observe($msg,OBSERVE_FATAL);
				throw new Exception($msg,$ex->getCode());
			}
			
			$this->_dbopen = true;
			$this->Observe("DataAdapter ($this->_label) Connection Open",OBSERVE_DEBUG);
		}
	}
function Open()
	{
		$this->Observe("DataAdapter ($this->_label) Opening Connection...",OBSERVE_DEBUG);
		
		if ($this->_dbopen)
		{
			$this->Observe("DataAdapter ($this->_label) Connection Already Open",OBSERVE_WARN);
		}
		else
		{
			if (!$this->_driver) $this->LoadDriver();
			
			try
			{
				$this->_dbconn = $this->_driver->Open(
					$this->ConnectionSetting->ConnectionString, 
					$this->ConnectionSetting->DBName, 
					$this->ConnectionSetting->Username, 
					$this->ConnectionSetting->Password,
					$this->ConnectionSetting->Charset,
					$this->ConnectionSetting->BootstrapSQL);
				
				$this->_num_retries = 0;
			}
			catch (Exception $ex)
			{
				// retry one time a communication error occurs
				if ($this->_num_retries == 0 && DataAdapter::$RETRY_ON_COMMUNICATION_ERROR && $this->IsCommunicationError($ex))
				{
					$this->_num_retries++;
					$this->Observe("DataAdapter ($this->_label) Communication error.  Retry attempt " . $this->_num_retries, OBSERVE_WARN);
					sleep(2); // slight delay to prevent throttling
					return $this->Open();
				}

				$msg = "DataAdapter ($this->_label) Error Opening DB: " . $ex->getMessage() . ' (retry attempts: '.$this->_num_retries.')';
					
				$this->Observe($msg,OBSERVE_FATAL);
				throw new Exception($msg,$ex->getCode());
			}
			
			$this->_dbopen = true;
			$this->Observe("DataAdapter ($this->_label) Connection Open",OBSERVE_DEBUG);
		}
	}
function Open ( ) { $ this -> Observe ( "DataAdapter ($this->_label) Opening Connection..." , OBSERVE_DEBUG ) ; if ( $ this -> _dbopen ) { $ this -> Observe ( "DataAdapter ($this->_label) Connection Already Open" , OBSERVE_WARN ) ; } else { if ( ! $ this -> _driver ) $ this -> LoadDriver ( ) ; try { $ this -> _dbconn = $ this -> _driver -> Open ( $ this -> ConnectionSetting -> ConnectionString , $ this -> ConnectionSetting -> DBName , $ this -> ConnectionSetting -> Username , $ this -> ConnectionSetting -> Password , $ this -> ConnectionSetting -> Charset , $ this -> ConnectionSetting -> BootstrapSQL ) ; $ this -> _num_retries = 0 ; } catch ( Exception $ ex ) { // retry one time a communication error occurs
 if ( $ this -> _num_retries == 0 && DataAdapter :: $ RETRY_ON_COMMUNICATION_ERROR && $ this -> IsCommunicationError ( $ ex ) ) { $ this -> _num_retries ++ ; $ this -> Observe ( "DataAdapter ($this->_label) Communication error.  Retry attempt " . $ this -> _num_retries , OBSERVE_WARN ) ; sleep ( 2 ) ; // slight delay to prevent throttling
 return $ this -> Open ( ) ; } $ msg = "DataAdapter ($this->_label) Error Opening DB: " . $ ex -> getMessage ( ) . ' (retry attempts: ' . $ this -> _num_retries . ')' ; $ this -> Observe ( $ msg , OBSERVE_FATAL ) ; throw new Exception ( $ msg , $ ex -> getCode ( ) ) ; } $ this -> _dbopen = true ; $ this -> Observe ( "DataAdapter ($this->_label) Connection Open" , OBSERVE_DEBUG ) ; } }
Opens a connection to the data server and selects the specified database

@access public
Opens a connection to the data server and selects the specified database