iT邦幫忙

0

關於PHP連TIPTOP資料庫問題

cool3690 8 月前1226 瀏覽

大家好:
想請教各位一個問題
我想用PHP連TIPTOP DB 但怎樣都連不上去(沒反應)
但我用PHP連MYSQL都好好的阿(同一支程式,不過$dbname,$dbpass...有改)
是TIPTOP的連法不一樣嗎?

<?php 

$dbhost = "192.168.10.21:1521:topprod"; // Host name 
$dbName = "com.mysql.jdbc.Driver"; 
$dbUser = "xxxxx"; 
$dbPass = "xxxxx"; 


if ( ! @mysql_connect($dbhost, $dbUser, $dbPass) )		
  die("無法連線資料庫伺服器"); 
mysql_query("SET NAMES utf8"); 

if ( ! @mysql_select_db($dbName) ) 
  die("無法使用資料庫");
else
echo "success";	
?>

請幫幫我,謝謝

weiclin iT邦高手 7 級 ‧ 8 月前 檢舉
mysql_connect 名字有個 mysql 當然也只能連 mysql...

1 個回答

4
做工仔人!
iT邦高手 1 級 ‧ 8 月前
最佳解答

其中上 TIPTOP 的資料庫是 Oracle , 用 mysql 的driver 怎麼會連得到?
請樓主參考這篇資料

看更多先前的回應...收起先前的回應...
happy2002172 iT邦新手 4 級 ‧ 8 月前 檢舉

樓上正解 除非你複製一份到mysql

賽門 iT邦超人 1 級 ‧ 8 月前 檢舉

DB至少有三種: Oracle, SQL Server, PostgreSQL.

cool3690 iT邦新手 5 級 ‧ 8 月前 檢舉

試了,可是他出現

Parse error: syntax error, unexpected '","' (T_CONSTANT_ENCAPSED_STRING) in C:\AppServ\www\test.php on line 2

程式碼是照抄那篇文章的,應該不會有錯......?
想請教一下
$dbconn=OCILogon(“ip","name","password");
是這樣放對嗎?

做工仔人! iT邦高手 1 級 ‧ 8 月前 檢舉

不對喔!

$dbconn=OCILogon(“scott","tiger","test"); 
scott : user name (就是營運中心代碼,如DS , 也可以用 system)
tiger : user password (也就是營運中心的密碼,一般是與營運中心同, 但是system的密碼就不一樣.)
test :是ssid , 正式區為 TOPPROD , 測試區為 TOPTEST , 標準區為:TOPSTD
做工仔人! iT邦高手 1 級 ‧ 8 月前 檢舉

重新排板.
不對喔!

$dbconn=OCILogon(“scott","tiger","test");  
scott : user name (就是營運中心代碼,如DS , 也可以用 system)  
tiger : user password (也就是營運中心的密碼,一般是與營運中心同, 但是system的密碼就不一樣.)  
test :是ssid , 正式區為 TOPPROD , 測試區為 TOPTEST , 標準區為:TOPSTD  
cool3690 iT邦新手 5 級 ‧ 8 月前 檢舉

請問是這樣寫囉
$dbconn=OCILogon("system","tw","topprod");
還有出現這錯誤

Parse error: syntax error, unexpected 'Could' (T_STRING), expecting ',' or ';' in C:\AppServ\www\test.php on line 6

但是我沒少;阿...

做工仔人! iT邦高手 1 級 ‧ 8 月前 檢舉

請確認一下配置環境有沒有設定 ?
一、配置環境:
訪問Oracle8以上的資料庫需要用到Oracle8 Call-Interface(OCI8)。這個擴展模塊需要Oracle8 的客戶端函數庫,因此需要你要連接遠端Oracle資料庫的話,還要裝上Oracle的客戶端軟體-可以到Oracle網站上免費下載- http://www.oracle.com ,這是許多初學者常常忽略的,因此如果看了這篇文章,就不要在討論區上再提「為什麼我連接不上Oracle資料庫」之類的問題了。
(1)首先確認安裝了Oracle8i客戶端,然後用net8 assistant(客戶端軟體提供)建立一個服務命名,注意服

務名是oracle資料庫的sid,可查詢initsid文件裡的server_names得到。

做工仔人! iT邦高手 1 級 ‧ 8 月前 檢舉

Oracle常見的運作方式:
先安裝 Oracle Client .
再設定 Oracle Client 中的 net manager 來設定與 Oracle 資料庫的連接方式.(oracle server的ip及 port號(1521)就放在這裡面)
程式再利用 net manager中服務名稱與 Oracle 資料庫溝通.
(一般服務名稱會設的與ssid相同)

cool3690 iT邦新手 5 級 ‧ 8 月前 檢舉

http://ithelp.ithome.com.tw/upload/images/20161101/20102983XYJSAjU1dT.png
是下載這個嗎?

做工仔人! iT邦高手 1 級 ‧ 8 月前 檢舉

應該是下方的 CLIENT 才對. 黃色的是Oracle 資料庫 for windows.

cool3690 iT邦新手 5 級 ‧ 8 月前 檢舉

edit php.ini,搜尋「extension=php_oci8.dll」,刪除前面的「;」。
安裝Oracle的Instant Client
restart apache
可透過 查詢是否有OCI資訊,有則代表已啟用OCI8模組。若無法使用,請下載php_oci8.dll,再把檔案copy到C:\AppServ\php5\ext底下,再restart apache。

以上,都做了
http://ithelp.ithome.com.tw/upload/images/20161101/20102983MW0aHAWLfV.png
程式也照打
http://ithelp.ithome.com.tw/upload/images/20161101/20102983atd304qzuF.png
但還是這樣耶....
請問是不是我還有啥沒做好

做工仔人! iT邦高手 1 級 ‧ 8 月前 檢舉
做工仔人! iT邦高手 1 級 ‧ 8 月前 檢舉

在 GOOGLE 中查詢 "php連接oracle方法" ,有很多資料可供參考.

我要發表回答

立即登入回答