WAMP环境中扩展oracle函数库(oci)_php实例
同事昨天接到一个任务,要用php处理oracle数据库的内容,但是php打开oracle扩展不是像mysql那样直接用就行,需要下一点东西才能打开
第一步 需要到oracle官方下载一个install client 包,在win下找到你对应系统版本的zip(注意这里是系统版本)
截止到2015-06-25,下载地址如下http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
例如选择 Instant Client for Microsoft Windows (x64) 因为php扩展的是OCI,所以必须选对应版本的最全的那个,别的都没有OCI,这里下载可能需要有个账号,验证以后就可以下载,直接用连接下载不好用,没有的话注册一下就好了
第二部,需要下载win系统中的扩展包也就是.dll文件 下载地址 http://pecl.php.net/package/oci8 下面一段废话是告诉你怎么找的
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 在这个地址下点击
official Instant Client site. 拉到最后 Related Developer Centers 里面点 "PHP - OCI8 extension"
然后选项卡 downloads 点OCI8 到 http://pecl.php.net/package/oci8
然后怎么下载就不多说了
到这里完成下载两个zip包,然后就是配置PHP
第三,解压下载的第一个文件,到电脑任意目录,解压后得到文件目录 instantclient_12 _1 建议把后面的 "_12_1"去掉,以后改版本就不用动环境变量了
进入这个目录后双击打开 adrci.exe
得到如下命令行窗口,证明这个客户端在你本地可用
复制目录,我的是 F:\dev\instantclient 配置到系统的path环境变量,
第四,解压下载的dll的压缩包,复制其中的 php_oci8.dll php_oci8_11g.dll php_oci8_12c.dll 我目前就是这三个,到php的扩展包文件,通常是 ....../php/ext/目录下
其实可以不替换,不过建议还是替换一下好,
然后打开php.ini 把扩展打开,最后一个是后来加进去的,php本来没有,反正上面包里有的dll文件都写进去应该错不了,顶多运行php的时候多加载几个库
extension=php_pdo_oci.dll extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client extension=php_oci8_12c.dll ; Use with Oracle 12c Instant Client
然后重启httpd服务,打开 phpinfo(); 应该能看到
PDO support enabled PDO drivers mysql, oci, odbc OCI8 Support enabled OCI8 DTrace Support disabled OCI8 Version 2.0.8 Revision $Id: f04114d4d67cffea4cdc2ed3b7f0229c2caa5016 $ Oracle Run-time Client Library Version 12.1.0.2.0 Oracle Compile-time Instant Client Version 10.2
这样就说明扩展打开成功了
最后就是连接oracle数据库了
这里给一个实例连接 原文连接 http://www.orczhou.com/index.php/2010/09/php-oci8-oracle/
<?php //配置信息 $ora_host = "172.16.1.150"; $ora_port="1521"; $ora_sid = "cop"; $ora_username = "webdev"; $ora_password = "webdev"; $charset = "UTF8"; ### zhs16gbk ### //构建Easy Connect string //(如果tnsnames.ora中已经有了,可以直接使用Connect Name) $ora_connstr = "(description=(address=(protocol=tcp) (host=".$ora_host.")(port=".$ora_port.")) (connect_data=(service_name=".$ora_sid.")))"; //连接数据库 $conn = oci_connect($ora_username, $ora_password,$ora_connstr); //执行Query,这里$res接收的是一个boolean值 $stid = oci_parse($conn, 'select * FROM dq_try_app'); $res = oci_execute($stid); //在while循环中使用oci_fetch_array遍历结果。 while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) { foreach ($row as $item) { echo $item."***"; } echo "<br>"; } //var_dump($stid); ?>
至此,整个的扩展加连接就完成了
以上所述就是本文的全部内容了,希望大家能够喜欢。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Oracle 打不開的解決辦法包括:1. 啟動數據庫服務;2. 啟動監聽器;3. 檢查端口衝突;4. 正確設置環境變量;5. 確保防火牆或防病毒軟件未阻止連接;6. 檢查服務器是否已關閉;7. 使用 RMAN 恢復損壞的文件;8. 檢查 TNS 服務名稱是否正確;9. 檢查網絡連接;10. 重新安裝 Oracle 軟件。

解決 Oracle 游標關閉問題的方法包括:使用 CLOSE 語句顯式關閉游標。在 FOR UPDATE 子句中聲明游標,使其在作用域結束後自動關閉。在 USING 子句中聲明游標,使其在關聯的 PL/SQL 變量關閉時自動關閉。使用異常處理確保在任何異常情況下關閉游標。使用連接池自動關閉游標。禁用自動提交,延遲游標關閉。

Oracle 中,FOR LOOP 循環可動態創建游標, 步驟為:1. 定義游標類型;2. 創建循環;3. 動態創建游標;4. 執行游標;5. 關閉游標。示例:可循環創建游標,顯示前 10 名員工姓名和工資。

Oracle 數據庫分頁利用 ROWNUM 偽列或 FETCH 語句實現:ROWNUM 偽列用於通過行號過濾結果,適用於復雜查詢。 FETCH 語句用於獲取指定數量的第一行,適用於簡單查詢。

要停止 Oracle 數據庫,請執行以下步驟:1. 連接到數據庫;2. 優雅關機數據庫(shutdown immediate);3. 完全關機數據庫(shutdown abort)。

在CentOS系統上搭建Hadoop分佈式文件系統(HDFS)需要多個步驟,本文提供一個簡要的配置指南。一、前期準備安裝JDK:在所有節點上安裝JavaDevelopmentKit(JDK),版本需與Hadoop兼容。可從Oracle官網下載安裝包。環境變量配置:編輯/etc/profile文件,設置Java和Hadoop的環境變量,使系統能夠找到JDK和Hadoop的安裝路徑。二、安全配置:SSH免密登錄生成SSH密鑰:在每個節點上使用ssh-keygen命令

可以通過使用 Oracle 的動態 SQL 來根據運行時輸入創建和執行 SQL 語句。步驟包括:準備一個空字符串變量來存儲動態生成的 SQL 語句。使用 EXECUTE IMMEDIATE 或 PREPARE 語句編譯和執行動態 SQL 語句。使用 bind 變量傳遞用戶輸入或其他動態值給動態 SQL。使用 EXECUTE IMMEDIATE 或 EXECUTE 執行動態 SQL 語句。

Oracle 日誌文件寫滿時,可採用以下解決方案:1)清理舊日誌文件;2)增加日誌文件大小;3)增加日誌文件組;4)設置自動日誌管理;5)重新初始化數據庫。在實施任何解決方案前,建議備份數據庫以防數據丟失。
