国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP遠(yuǎn)程連接oracle數(shù)據(jù)庫操作實現(xiàn)方法圖文詳解

2024-05-05 00:08:19
字體:
供稿:網(wǎng)友

本文實例講述了PHP遠(yuǎn)程連接oracle數(shù)據(jù)庫操作實現(xiàn)方法。分享給大家供大家參考,具體如下:

一.以下是基于 wampServer 的php 訪問oracle數(shù)據(jù)庫的操作步驟:

1、第一步:讓PHP支持OCI

首先,安裝PHP的集成運行環(huán)境,網(wǎng)上有很多集成,我安裝的是WampServer的(具體的安裝方法也可以參考之前寫的另一篇文章),安裝好后,從安裝目錄中找到php.ini文件,比如我本地的路徑是D:/wamp/bin/php/php5.3.3,將php.ini中的php_oci8.dll的;去掉,也就是把注釋去掉,相當(dāng)于可以使用php_oci8了。

PHP,遠(yuǎn)程連接,oracle,數(shù)據(jù)庫

2、第二步:然后wampserver運行后,將php>php extentions中將php_oci8打上勾

【其他的集成環(huán)境其實也是可以的,比如phpStudy,我們可以直接從php擴展的選項里打勾對應(yīng)的】。

PHP,遠(yuǎn)程連接,oracle,數(shù)據(jù)庫

3、第三步:oracle 數(shù)據(jù)庫文件配置

對于安裝有Oracle客戶端的PC機,可以在Oracle安裝配置文件,tnsnames.ora文件,此文件路徑是安裝oracle的路徑,比如我本機的是

F:/oracle/product/10.2.0/client_1/NETWORK/ADMIN  ,所連的192.168.1.198數(shù)據(jù)庫,其中的配置詳情如下(如果顯示 127.0.0.1 默認(rèn)為本機):

 (DESCRIPTION =  (ADDRESS_LIST =   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.198)(PORT = 1521))  )  (CONNECT_DATA =   (SERVICE_NAME = orcl)  ) )

4、第四步:檢測oci8是否配置成功

①.一般情況下,打開localhost即能顯示 phpinfo.php界面,里面即為 php 信息。可采用 “Ctrl+F”搜索“oci”,查看是否有對應(yīng)的oci模塊,當(dāng)然有一點php基礎(chǔ)的完全可以直接訪問自己編寫的文件,記得里面加入“echo phpinfo();”即可。

②.不要高興太早,走到這一步,至少我是查不到的對應(yīng)信息的,這時可以按照網(wǎng)上的一些建議,把php的ext目錄下的php_oci8.dll拷到system32目錄下

③.最后建議重啟服務(wù),最好是重啟電腦(我在測試時發(fā)現(xiàn),重啟服務(wù)沒用,有一次是無意中 刷新出了oci擴展,所以如果操作方法沒錯,我建議進(jìn)行重啟.)

二.代碼測試遠(yuǎn)程連接 orcal 數(shù)據(jù)庫(建議可用自己的oracle客戶端試著是否能連接對方的服務(wù)端,以保證操作的成功率)

<?php/** * Created by PhpStorm. * User: Administrator * Date: 2015/12/7 * Time: 16:25 */echo 'ff';//進(jìn)行連接數(shù)據(jù)庫的參數(shù)配置$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.198)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)(INSTANCE_NAME = orcl)))";//phpinfo();$conn = oci_connect('scott','tiger',$dbstr);//如果去掉最后一個參數(shù)或者為“ ”,默認(rèn)連接本機$stmt = oci_parse($conn, "select * from mono");oci_execute($stmt);$nrows = oci_fetch_all($stmt, $results);if ($nrows > 0) {echo "<table border=/"1/">/n";echo "<tr>/n";foreach ($results as $key => $val) {echo "<th>$key</th>/n";}echo "</tr>/n";for ($i = 0; $i < $nrows; $i++) {echo "<tr>/n";foreach ($results as $data) {echo "<td>$data[$i]</td>/n";}echo "</tr>/n";}echo "</table>/n";} else {echo "No data found<br />/n";}echo " $nrows Records Selected<br />/n";oci_free_statement($stmt);oci_close($conn);?>

(參考網(wǎng)友的一點說明)

兩種方式和oracle數(shù)據(jù)庫建立鏈接

1.

復(fù)制代碼代碼如下:
$conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.198)(PORT = 1521))(CONNECT_DATA =(SID=orcl)))");

 

2.

復(fù)制代碼代碼如下:
$conn = oci_connect('username','password','192.168.1.198/orcl');

 

有的時候第一種方式不行,使用第二種,里面的幾個參數(shù)分別是用戶名、密碼、oracle服務(wù)地址,其中orcl是服務(wù)名(但在我的機器上,后者無法訪問)

另外提供一種簡單的測試代碼,相對而言,只是測試連接情況,更為方便:

<!DOCTYPE HTML><html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <title>php語句結(jié)束符</title></head><body><?php$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.102)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)(INSTANCE_NAME = orcl)))";$dbconn=oci_connect('scott','tiger',$dbstr);if($dbconn!=false){  echo "連接成功".'<br/>';  if(OCILogOff($dbconn)==true)  {    echo "關(guān)閉連接成功!".'<br/>';//  }}else{  echo "連接失敗".'<br/>';}?></body></html>

總結(jié)提示:

使你的php支持oracle,按照以下步驟即可:
1.安裝php環(huán)境,找一下appserv或者xampp,一鍵安裝,很方便
2.把php的ext目錄下的php_oci8.dll拷到system32目錄下
3.修改php.ini文件中的配置,去掉  ;extention = php_oci8.dll,去掉前面的分號
4.重啟apache

注意:

1.有時候你并不會注意到的一點失誤會浪費很多時間,我還要提醒的是,請記得打開oracle的服務(wù)監(jiān)聽!!
2.請記得作為服務(wù)端的PC機,要關(guān)閉防火墻!!
3.apache的配置文件同樣重要,修改httpd.conf文件,Deny——>Allow 

<Directory />  Options FollowSymLinks  AllowOverride None  Order deny,allow#  Deny from all  Allow from all#允許所有訪問  Satisfy all</Directory><Directory />...... #  Require localOptions Indexes FollowSymLinks#  onlineoffline tag - don't remove  Order Deny,Allow  Allow from all #  Require local</Directory>

4.上文中一直提示的SID 或者說oracle服務(wù)器名稱什么的真的好難懂,我是直接用了配置文件中所顯示的名稱“orcl”,這個在你安裝軟件時,會有一個服務(wù)名稱的提醒,自己默認(rèn)的orcl而已,估計些其他的名稱也是可以的。網(wǎng)上介紹的很亂

如果不知道怎么操作,查看學(xué)習(xí)文檔是最正確的選擇,希望能幫到你。

有的時候第一種方式不行,使用第二種,里面的幾個參數(shù)分別是用戶名、密碼、oracle服務(wù)地址,其中orcl是服務(wù)名。

#  Require local

希望本文所述對大家PHP程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 保亭| 遂宁市| 平谷区| 九江县| 偏关县| 正宁县| 秦安县| 永嘉县| 东方市| 淮滨县| 昌吉市| 响水县| 云安县| 新密市| 安阳市| 黔西| 吉木萨尔县| 乌鲁木齐县| 景泰县| 阿克| 安仁县| 新闻| 中西区| 奉化市| 南阳市| 富民县| 固镇县| 汉源县| 墨江| 新平| 古田县| 德惠市| 栾城县| 萍乡市| 开封市| 车险| 安化县| 南康市| 宜城市| 洪江市| 无为县|