呵呵,大概和我的问题差不多
看看这样能解决么
代码中的host之类的东东就是TNSNAMES.ORA里相应的东东,TNSNAMES.ORA就是c:\orant\NET80\ADMIN 下的那个(我装的是oracle8客户端)<?php 
$conn = OCILogon("dsa","321","(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.156)(PORT = 1521))(CONNECT_DATA = (SID = orcl)))"); 
if($conn!=false) 

echo "ok"; 
OCILogoff($conn); 

else 
echo "false"; 
?> 以后多多交流,共同学习;)

解决方案 »

  1.   

    如果你的PHP WEB服务器,ORACLE服务器是一个,检查OCILogon的第三个参数,这个应该是主机名。如果不是,检查你ORACLE 的NET 8 配置。
    ~~~~ 晕晕 ~~~~ 好累 http://www.chinatools.biz/ommo/<)".."(>
    ( (..) )    I can fly...☆☆☆☆☆ 就快有星星了,加油加油。 ☆☆☆☆☆
      

  2.   

    那应该怎么配置 oracle net8?
      

  3.   

    lvjack(叶飞)的方法是可以的,但是我想不通的是:
    下面两种方法,为什么后者能连上,而前者不能
    $conn = OCILogon("pan33","pan33","VPLAN_CLIENT.WORLD");$conn = OCILogon("pan33","pan33","(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = fastvp)(PORT = 1521))(CONNECT_DATA = (SID = vplan)))");注:后者是前者配置的实际内容(在TNSNAMES.ORA中)
      

  4.   

    配置net8,
    如果是在windows上,先装oracle客户端,
    然后在oracle 的network adminstration 目录下选 net8 assistant
    如果是中文版在网络服务名中添加,如果是英文版在net service name 中添加(就是点加号),你如果要链VPLAN_CLIENT.WORLD那么在网络服务名或net service name中输入VPLAN_CLIENT.WORLD,如果你想取其他名字就输入其他名字。然后选TCP/IP,然后输入fastvp,然后选数据库SID或DataBase SID输入vplan,我不知道你的oracle 是8。1还是8。0估计是8.0的。完了测试一下通不通,通了你第一种连接方式就能用了。
    另外,你如果是在unix上装的话,你最好装服务端,用服务端的net8来链数据库,我以前装过unix的客户端链服务器,在编译php时缺少一个C文件的情况。