php连接oracle的类

php连接oracle需要安装那个啥客户端,现在一般用oci8,linux好像还要编译产生oci8.so,最好把安装时的php压缩包tar.gz 或者tar.bz2留着,以后可能经常要编译扩展so文件,如curl.so等。

dbo_oracle.php:

<?
class dbo_oracle{
 private $username = ‘dw’;
 private $password = ‘dw’;
 private $db = “(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)(HOST=xx.xx.xx.xx)(PORT = 1522))(CONNECT_DATA =(SID=dw)))”;
 //公网ip通过1522映射到内部1521端口去了
 
 private $conn;
 private $stid;
 
 public function query( $sql ){
  if( !$this->conn )
   $this->connect();
  
      $this->stid = oci_parse( $this->conn, $sql );
   $res = oci_execute( $this->stid );
   return $this->stid;
 }
 
 public function query_limit( $sql, $start, $count ){
  
  $end = $start + $count;
  $start++;
  return $this->query( “SELECT * FROM( SELECT A.*, rownum r FROM( {$sql} ) A WHERE rownum <= {$end} ) B WHERE r >= {$start}” );
 }
 
 public function fetch_array( $stid ){
  return oci_fetch_array( $stid, OCI_ASSOC );
 }
 
 public function result( $stid, $default=0 ){
  $row = oci_fetch_row( $stid );
  return ( $row && $row[0] ) ? $row[0] : $default;
 }
 
 public function connect(){
  $this->conn = oci_connect( $this->username, $this->password, $this->db, ‘UTF8′ );
  if(empty($this->conn)){
  echo ‘connect failed!’;
  }
 }
 
 public function disconnect(){
  oci_close( $this->conn );
  $this->conn = null;
 }
}

$dbo_oracle = new dbo_oracle();

?>

 

 

此条目发表在 Oracle 分类目录,贴了 , , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>