PHP連接遠程oracle


1、在php.ini中開啟 extension=php_oci8.dll extension=php_oci8_11g.dll(去掉分號即可)

2、到http://www.oracle.com/technetwork/cn/topics/winsoft-085727.html下載對應的instantclient-basic-win32程序

      注意:instantclient-baseic選擇32位還是64位要看運行的php是32位還是64位而定,而不是系統位數

3、下載后將你所下載的instantclient_11_2目錄配置到系統環境變量中(D:\app\rtyrrty\instantclient_11_2)

4、重啟apache用phpinfo便可看到oci8已開啟

說明:oci_connect函數中host代表oracle的IP地址 port代表oracle端口號 sid代表你的實例名

   下例中AL32UTF8是表示你數據表中的字符集編碼格式

         (通過“select * from V$NLS_PARAMETERS;”可查詢到)

          查詢結果中NLS_CHARACTERSET字段便表示你的oracle字符集格式 newcc 123456789表示用戶名稱及密碼

 

測試代碼:

 

  $conn = oci_connect('newcc','123456789',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.0.222)(PORT = 1521))(CONNECT_DATA =(SID=orcl)))","AL32UTF8");
        if (!$conn){
            echo "連接失敗!";
            exit();
        }
        $sql = "SELECT BH,XM,GYDWNAME,ZYXZNAME,ZFZTNAME FROM CRIMINAL_BASE_INFO WHERE ROWNUM<6";  
        $ora = oci_parse($conn,$sql);  //編譯sql語句 
        if (!$ora){
            echo "預編譯失敗!";
            exit();
        }
        //執行
        if (oci_execute($ora)){
            
             while(($row = oci_fetch_assoc($ora)) != false)  //取回結果
            {
                 echo "<pre>";
                 echo $row["BH"]."&nbsp;".$row["XM"]."<br/>";
                 echo "</pre>";
             } 
        }else {
            echo "執行失敗!";
        } 
        if (!(oci_free_statement($ora)))
            echo "釋放失敗!";
        if (!oci_close($conn))
            echo "關閉失敗!";

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM