php怎么和windows2000下的oracle连接?

解决方案 »

  1.   

    (1)首先安装ora的客户端
    (2)配置net Assistant
    (3)在php.ini中
    去掉前面的分号
    extension=php_oci8.dll
    (4)重新启动apache服务
    (5)给你一段测试程序
    <?
    $conn = OCILogon ("scott", "tiger","orcl") or die(OCIError($conn));
    $sql = "select * from emp order by empno desc";
    $stmt = OCIParse ($conn, $sql);
    OCIExecute ($stmt,OCI_COMMIT_ON_SUCCESS) or die(OCIError($conn));echo "<table width='100%' border='1' cellspacing='0' cellpadding='0' bordercolorlight='#000000' bordercolordark='#FFFFFF' bgcolor='#CCCCFF'>\n";
    echo "<tr bgcolor='#aaaaFF'><td>ID</td><td>NAME</td><td>WORK</td></tr>\n";
    while (OCIFetchInto  ($stmt, &$arr,OCI_NUM + OCI_RETURN_NULLS+OCI_RETURN_LOBS +OCI_ASSOC))
    {
        echo "<tr>\n";
        echo "<td>$arr[EMPNO]</td>\n";
        echo "<td>$arr[ENAME]</td>\n";
        echo "<td>$arr[JOB]</td>\n";
        echo "</tr>\n";
    }
    echo "</table>";OCICommit ($conn);OCILogoff ($conn);
    ?>
    如果可以看到结果,说明大功告成。如果出现tns错误,无法处理的服务名,可能是net Assistant配置不对
    祝你好运,:)
      

  2.   

    我试过了
    提示:Fatal error: Call to undefined function: ocilogon() 
    不知到是什么毛病了?
      

  3.   

    Fatal error: Call to undefined function: ocilogon()
    我试了,也是出现这样的错误信息
      

  4.   

    去掉前面的分号extension=php_oci8.dll  后出现的出错信息无法定位程序输入点 OCILobfreeTemporary 于动态链接库 OCI.dll 上
    Unknown():Unable to load dynaic library 'c:\php\extensions\php_oci8.dll'找不道指定的程序
      

  5.   

    To;回复人: minszh(天外飞仙) 
    你的php.ini里面的那句配置
    extension=php_oci8.dll
    没有生效???
    你可以写个<?php phpinfo(); ?>依此内容写个phpinfo.php文件
    将会显示基本配置,如果没有列出oracle的模块
    表示,php.ini没有配置对
    回复人: ademgreat(快乐鱼) 你没有装oracle的客户端!
      

  6.   

    我有装ORACLE,装了服务器端和客户端
      

  7.   

    在php.ini中设置:
    extension_dir = X:/.../php/extensions/ ;改成你的php_oci8.dll所在路径.
      

  8.   

    试试这段代码,不用打开PHP_OCI8.dll 只需打开PHP_ORACLE.DLL
    ORACLE服务器端必须是你自己的机。
    <?php
    putenv("ORACLE_SID=");
    putenv("ORACLE_HOME=c:\orant");     /* 你的ORACLE所安装的目录*/
    $handle = ora_plogon("system",  "manager"); /* 换成你登陆ORACLE所用的帐号密码*/
    $cursor = ora_open($handle);
    ora_commitoff($handle);
    $query = "SELECT * FROM nanyue"; /*SELECT一张已经存在的表*/
    ora_parse($cursor, $query) ;
    ora_exec($cursor);
    echo  "<HTML><PRE>\n";
    echo  "$query\n\n";
    $numcols = 0;
    while(ora_fetch($cursor)) {
        $numcols = ora_numcols($cursor);
        for ($column=0; $column < $numcols; $column++) {
            $data = trim(ora_getcolumn($cursor, $column));
            if($data ==  "") $data = "NULL";
            echo  "$data\t";
        }
        echo  "\n";
    }
    $numrows = ora_numrows($cursor);
    echo  "\nROWS RETURNED: $numrows\n";
    echo  "</PRE></HTML>\n";
    ora_close($cursor);
    ?>如果能正常输入,证明的与ORACLE的链接基本没问题了,还有的问题就是我也存在的问题
    顺便问一下,你用的ORACLE是什么版本的?
      

  9.   

    关键要打开PHP.INI里面关于extension部分中Oracle的设置打开
      

  10.   

    TO(快乐鱼)
    OCI.dll 的问题你解决了没?
      

  11.   

    不会吧,我现在用的就是8.0.5啊,
    会不会是8.0.5于PHP4 之间的兼容问题,我同事用PHP3 就没有问题