日期:2012-07-18  浏览次数:20617 次

  PHP在Linux/Unix下连接oracle8是很容易的事,但在windows平台下实在不易,本人经过长久的摸索才找到可靠的方法,不敢独享,
  现公布出来以飨大家。

  笔者使用的开发环境:

  windows 98 第二版

  php4.04pl1

  apache 1.3.14 window版

  oracle 8.05客户端

  PHP以CGI方式安装完毕测试成功后。以以下代码测试
   <?php
  $conn = OCILogon("cinmsiii","cinmsiii","(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.202)(PORT = 1521))(CONNECT_DATA = (SID = unicom)))");
   //$conn=OCILogon("cinmsiii","cinmsiii","cinms");如果oracle客户端是8.1.6i的话可以这样用,参数照上

  if($conn!=false)
   {
  echo "ok";
   OCILogoff($conn);
   }
   else
   echo "false";
   ?>

  关于连接参数问题:
  连接串设为以下:
   (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.202)(PORT = 1521))(CONNECT_DATA = (SID = unicom)))

  PROTOCOL:为使用的网络协议

  HOST:为数据库服务器主机名

  SID:为数据库的实例号

  这样作后一般没有任何问题。

  如果你的oracle 8客户端为 8.1.6i企业版,可以把这些参数设在连接串中,用 oracle8的net easy config实用工具设置。
  将设置后的连接串名称作为连接串传入。

  推测oracle 7.x也可以用此方法,因没有环境,未作测试,如果你有兴趣可以试试。