首页  编辑  

oracle database access object

Tags: /超级猛料/Database.数据库相关/Oracle/oracle系统配置,优化,连接/   Date Created:
oracle database access object
摘自:不详
--------------------------------------------------------------------------------
Calling example:
<?
$conn = OCILogon("www_cec", "webchn99", "unicorn");
#or you can just inclued file like "include("modcec_OCI_conn.php3");"
$newOda= new ODA($conn);
#################
#or you can use login method like this
#$newOda-=new ODA();
#$newOda->Logon("www","99","corn");
###############################################
$newOda->CmdString=" update test set nouse='dfs' where login_name='guoyafeng'";
if(!$newOda->Execute()) {
echo $newOda->err;
}
else
{
echo $newOda->Rows;  #get the affected row number.
}
#or you can call execute like this####
/*
$newOda->Execute(" update test set nouse='dfs' where login_name='guoyafeng'");
*/
#############################
#the following demostrate the open method.
$newOda->Open("select * from test")) or die $newOda->err;
#Get data from RS
echo "count is" .$newOda->Rows;
for($i=0;$i<$newOda->Rows;$i++)
  for($j=0;$j<$newOda->Cols;$j++)
   {
      echo $newOda->RS[$i][$j];
     
      }
$newOda->Logoff();
?>
<?
/********************************************************************************#
#  File Name:ODA.php3                                                            #
#  Author:Guo Yafeng                                    #
#  Function: Oracle DB Access.                          #
#  Maint History:                                                                #
#         Sept 18,2000 first release.                                            #
#                                                                                #
#                                                                                #
#********************************************************************************/
/********************************************************************************#
#Object interface description:                                                   #
#  Properties:                                                                   #
#       conn                Connection Object                                    #
#       err_no              Error No                                             #
#       err                 Error Description                                    #
#       CmdString           SQL Statements to execute.                           #
#       Rows               Affected Rows.                                      #
#       RS                  Return value array.                                  
#      Cols                                                                                         #
#                                                                                #
#  Method:                                                                       #
#       Open                Execute the CmdString and return value               #
#       Execute             Execute the CmdString.                               #
#********************************************************************************/
  file://$conn = OCILogon("www_ce", "ceonline99", "wsgp");
 // $conn = OCILogon("www_cec", "webchn99", "unicorn");
//  if ($SERVER_NAME == "")
//          $SERVER_NAME = $HTTP_HOST;
class ODA
{
 
 
 function ODA($cn="") {
  if($cn!="")
   $this->conn=$cn;
   return TRUE;
 
 }
 
 function Logon($user,$pass,$db) {
 
   if(!($this->conn = OCILogon($user, $pass, $db))){
   
    $this->err_no=106;
    $this->err="Error 106: Failed to logon.";
    return FALSE;
   };
   
   return TRUE;
   
 }
 function Open($sql="") file://$this->CmdString
 {
    if($this->conn=="") {
       $this->err_no=100;
       $this->err="Error 100,Connection Object Required.";
       return FALSE;
     }
   
    if($sql=="" and $this->CmdString=="") {
       $this->err_no=101;
       $this->err="Error 101,SQL Statement Required.";
       return FALSE;
     }
    if($sql=="")
       $sql=$this->CmdString;
   if(!($cursor=OCIParse($this->conn,$sql))) {
      $this->err_no=102;
      $this->err="Server Internal Error: Failed to parse SQL Statement.";
      return FALSE;
   }
   
   if(!OCIExecute($cursor))  {
     $this->err_no=103;
     $this->err="Server Internal Error: Failed to execute SQL Statement.";
     return FALSE;
   }
   $this->Rows=0;
   while(OCIFetchInto($cursor,$this->RS[$this->Rows])){
   
     $this->Rows++;
     
    }
    $this->Cols=OCINumCols($cursor);
   if($this->Rows==0) {
   
    $this->err_no=104;
    $this->err="Warning: No rows affectted.RS result is not available.";
   }
    OCIFreeStatement($cursor);
   
    return TRUE;
 }
 
 
   function Execute($sql="") {
    if($this->conn=="") {
       $this->err_no=100;
       $this->err="Error 100,Connection Object Required.";
       return FALSE;
     }
   
    if($sql=="" and $this->CmdString=="") {
       $this->err_no=101;
       $this->err="Error 101,SQL Statement Required.";
       return FALSE;
     }
    if($sql=="")
       $sql=$this->CmdString;
   
   if(!($cursor=OCIParse($this->conn,$sql))) {
      $this->err_no=102;
      $this->err="Server Internal Error: Failed to parse SQL Statement.";
      return FALSE;
   }
 
   
   if(!OCIExecute($cursor))  {
     $this->err_no=103;
     $this->err="Server Internal Error: Failed to execute SQL Statement.";
     return FALSE;
   }
   $this->Rows=OCIRowCount($cursor);
   OCIFreeStatement($cursor);
   
   return TRUE;
 }
 function LogOff(){
 
 if(!OCILogoff($conn)){
   
   $this->err_no=105;
   $this->err="Server Internal Error: Failed to logoff database.";
   return FALSE;
  }
 return TRUE;
 
 }
}
?>
--------------------------------------------------------------------------------