『壹』 裝了oracle11g怎麼學習php,求軟體,求指導!!
學習php跟資料庫沒關系啊。你可以下載一個wamp server,然後網路一下php開發。利用wamp server做伺服器,然後在你本地配置開發環境,寫代碼測試。如果是對php一點兒都不懂,建議你從php語言開始學習。
『貳』 oracle 11g 安裝和使用
oracle 11g可以使用內置sysdba用戶來登錄,然後為sys和system用戶設置密碼,步驟如下:
1、打開運行窗口。
『叄』 php連接oracle資料庫時報'The oci driver is not currently installed' ,大蝦支招,跪求
安裝php時需要安裝php對oracle資料庫的支持
1、安裝oracle 11g client或instantclient 11
2、編譯php支持oracle
--with-oci8[=DIR]
--with-pdo-oci[=DIR]
3、配置php.ini支持oracle 11g
windows:
extension=php_oci8_11g.dll
linux:
extension=php_oci8_11g.dll
『肆』 64位win7 php-5.6.15 如何連接 64位的 oracle 11g
你做了好多不必要的操作,安裝oracle11g沒那麼復雜,明白了安裝過程和原理就行了,急不急,不急的話我晚點再幫你看
『伍』 php7配置oracle11g,怎麼配置連接上
php配置oracle非常的簡單需吧php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分號,重啟apache就可以了
oracle資料庫建立鏈接,代碼如下:
1:
$conn =
oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL
=TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))");
2:
$conn = oci_connect('username','password','192.168.1.100/test');
3.Oracle 連接方法
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
完整的例子如下:
<?php
$conn = oci_connect('hr', 'hr', 'orcl'); // 建立連接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM DEPARTMENTS'; // 查詢語句
$stid = oci_parse($conn, $query); // 配置SQL語句,准備執行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT); // 執行SQL。OCI_DEFAULT表示不要自動commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 列印執行結果
print '<table border="1">';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
『陸』 php中怎麼配置支持oracle 11g資料庫
1、安裝oracle 11g client或instantclient 11
2、編譯php支持oracle
--with-oci8[=DIR]
--with-pdo-oci[=DIR]
3、配置php.ini支持oracle 11g
windows:
extension=php_oci8_11g.dll
linux:參考
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
4、ora.php實例
<?php
$conn = oci_connect('user', 'passwd', 'ip:1521/orcl'); // 建立連接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM account'; // 查詢語句
$stid = oci_parse($conn, $query); // 配置SQL語句,准備執行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT); // 執行SQL。OCI_DEFAULT表示不要自動commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 列印執行結果
print '<table border="1">';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
//print_r($item);
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
『柒』 如何安裝oracle11g的安裝包
包含64位/32位官方版本,並附詳細的Oracle 11g安裝圖解教程,同時希望能幫助到剛接觸到Oracle資料庫的朋友。安裝過程稍需一段時間,具體時間決取於你的電腦配置,請大家稍安勿躁。
Oracle 11g版本是甲骨文公司憑借自已30年的設計經驗,成功打造的功能強大的關系資料庫管理系統,目前共發行了linux版本和windows版本,Oracle資料庫的高效性、安全性、穩定性、延展性,是其成功的關鍵因素,世界上的幾乎所有大型信息化系統都在應用Oracle技術。
在甲骨文推出的產品中,Oracle 11g是最具創新性和質量最高的軟體,它具有400多項功能,經過了1500萬個小時的測試,開發工作量前所未有。Oracle資料庫11g可以幫助企業管理企業信息、更深入地洞察業務狀況並迅速自信地做出調整以適應不斷變化的競爭環境,最新版資料庫增強了Oracle資料庫獨特的資料庫集群、數據中心自動化和工作量管理功能,更多詳細的功能請大家查看下面的Oracle 11g新增功能介紹。
Oracle 11g 64位/32位官方版
Oracle 11g安裝圖解教程
安裝以win7 64位系統為例
1、將win64_11gR2_database_1of2和win64_11gR2_database_2of2解壓到同個文件夾下合並(可以直接左鍵框住右鍵點擊一起解壓),打開運行其中的setup開始安裝,如圖所示:
2、稍後進入Oracle 11g安裝界面(如下圖:)
3、【配置安全更新】郵箱以及口令可以不寫,點擊下一步,出現提醒,直接點是即可。
4、【安裝選項】直接選擇默認創建和配置一個資料庫(安裝完Oracle後,系統會自動創建一個資料庫實例)。
5、【系統類】個人用戶直接選擇默認的桌面類就可以了,如圖所示:
6、【典型安裝】Oracle基目錄,軟體目錄,和資料庫文件目錄,Oracle一般會自動幫你選擇空間最大的盤和你解壓文件的盤符,全部默認即可。管理口令需要輸入(大寫+小寫+數字)的八位密碼,也有網友指出此處可以隨意設置簡單好記的密碼,無視軟體提醒即可。
7、【先決條件檢查】安裝程序會檢查軟硬體系統是否滿足此Oracle版本的最低要求,安裝需要佔用約2G的C盤空間,內存2G以上即可。如果還是通不過要求,選擇全部忽略。
8、【概要】安裝前的一些相關選擇配置信息,點擊完成。
9、安裝正在進行中,請耐心等待。。。。如圖所示:
10、Oracle實例創建啟動完成後,會自動創建安裝一個實例資料庫名稱orcl123,(小編用的是orcl123,默認為orcl名稱的資料庫)。
11、 安裝完成,運行開始菜單>Oracle - OraDb11g_home1>Database Control - orcl123,以IE運行進入登錄界面或打開ie直接輸入https://localhost:1158/em即可 (此處如果出現證書錯誤的話,點擊繼續瀏覽此網站即可)。
12、登錄界面,輸入用戶名"SYS",口令為之前注冊設置的管理密碼,將連接身份改為SYSDBA,點擊登錄,成功之後你就可以管理你的資料庫實例了。
Oracle 11g新版功能
1.資料庫管理部分
◆資料庫重演(Database Replay)
這一特性可以捕捉整個數據的負載,並且傳遞到一個從備份或者standby資料庫中創建的測試資料庫上,然後重演負責以測試系統調優後的效果。
◆SQL重演(SQL Replay)
和前一特性類似。但是只是捕捉SQL負載部分,而不是全部負載。
◆計劃管理(Plan Management)這一特性允許你將某一特定語句的查詢計劃固定下來,無論統計數據變化還是資料庫版本變化都不會改變她的查詢計劃。
◆自動診斷知識庫(Automatic Diagnostic Repository ADR)
當Oracle探測到重要錯誤時,會自動創紀一個事件(incident),並且捕捉到和這一事件相關的信息,同時自動進行資料庫健康檢查並通知DBA。此外,這些信息還可以打包發送給Oracle支持團隊。
◆事件打包服務(Incident Packaging Service)
如果你需要進一步測試或者保留相關信息,這一特性可以將與某一事件相關的信息打包。並且你還可以將打包信息發給oracle支持團隊。
◆基於特性打補丁(Feature Based Patching)
在打補丁包時,這一特性可以使你很容易區分出補丁包中的那些特性是你正在使用而必須打的。企業管理器(EM)使你能訂閱一個基於特性的補丁服務,因此企業管理器可以自動掃描那些你正在使用的特性有補丁可以打。
◆自動SQL優化(Auto SQL Tuning)
10g的自動優化建議器可以將優化建議寫在SQL profile中。而在11g中,你可以讓oracle自動將能3倍於原有性能的profile應用到SQL語句上。性能比較由維護窗口中一個新管理任務來完成。
◆訪問建議器(Access Advisor)
11g的訪問建議器可以給出分區建議,包括對新的間隔分區(interval partitioning)的建議。間隔分區相當於范圍分區(range partitioning)的自動化版本,她可以在必要時自動創建一個相同大小的分區。范圍分區和間隔分區可以同時存在於一張表中,並且范圍分區可以轉換為間隔分區。
◆自動內存優化(Auto Memory Tuning)
在9i中,引入了自動PGA優化。10g中,又引入了自動SGA優化。到了11g,所有內存可以通過只設定一個參數來實現全表自動優化。你只要告訴oracle有多少內存可用,她就可以自動指定多少內存分配給PGA、多少內存分配給SGA和多少內存分配給操作系統進程。當然也可以設定最大、最小閾值。
◆資源管理器(Resource Manager)
11g的資源管理器不僅可以管理CPU,還可以管理IO。你可以設置特定文件的優先順序、文件類型和ASM磁碟組。
◆ADDMADDM在10g被引入。
11g中,ADDM不僅可以給單個實例建議,還可以對整個RAC(即資料庫級別)給出建議。另外,還可以將一些指示(directive)加入ADDM,使之忽略一些你不關心的信息。
◆AWR 基線(AWR Baselines)
AWR基線得到了擴展。可以為一些其他使用到的特性自動創建基線。默認會創建周基線。
2.PLSQL部分
◆結果集緩存(Result Set Caching)
這一特性能大大提高很多程序的性能。在一些MIS系統或者OLAP系統中,需要使用到很多"select count(*)"這樣的查詢。在之前,我們如果要提高這樣的查詢的性能,可能需要使用物化視圖或者查詢重寫的技術。在11g,我們就只需要加一個/*+result_cache*/的提示就可以將結果集緩存住,這樣就能大大提高查詢性能。當然,在這種情況下,我們可能還要關心另外一個問題:完整性。因為在oracle中是通過一致性讀來保證數據的完整性的。而顯然,在這種新特性下,為提高性能,是從緩存中的結果集中讀取數據,而不會從回滾段中讀取數據的。關於這個問題,答案是完全能保證完整性。因為結果集是被獨立緩存的,在查詢期間,任何其他DML語句都不會影響結果集中的內容,因而可以保證數據的完整性。
◆對象依賴性改進
在11g之前,如果有函數或者視圖依賴於某張表,一旦這張表發生結構變化,無論是否涉及到函數或視圖所依賴的屬性,都會使函數或視圖變為invalid。在11g中,對這種情況進行了調整:如果表改變的屬性與相關的函數或視圖無關,則相關對象狀態不會發生變化。
◆正則表達式的改進
在10g中,引入了正則表達式。這一特性大大方便了開發人員。11g,oracle再次對這一特性進行了改進。其中,增加了一個名為regexp_count的函數。另外,其他的正則表達式函數也得到了改進。
◆新SQL語法 =>
我們在調用某一函數時,可以通過=>來為特定的函數參數指定數據。而在11g中,這一語法也同樣可以出現在sql語句中了。例如,你可以寫這樣的語句:select f(x=>6) from al;
◆對TCP包(utl_tcp、utl_smtp…)
支持FGAC(Fine Grained Access Control)安全控制
◆增加了只讀表(read-only table)
在以前,我們是通過觸發器或者約束來實現對表的只讀控制。11g中不需要這么麻煩了,可以直接指定表為只讀表。
◆觸發器執行效率提高了
內部單元內聯(Intra-Unit inlining)在C語言中,你可以通過內聯函數(inline)或者宏實現使某些小的、被頻繁調用的函數內聯,編譯後,調用內聯函數的部分會編譯成內聯函數的函數體,因而提高函數效率。在11g的plsql中,也同樣可以實現這樣的內聯函數了。
◆設置觸發器順序
可能在一張表上存在多個觸發器。在11g中,你可以指定它們的觸發順序,而不必擔心順序混亂導致數據混亂。
◆混合觸發器(compound trigger)
這是11g中新出現的一種觸發器。她可以讓你在同一觸發器中同時具有申明部分、before過程部分、after each row過程部分和after過程部分。
◆創建無效觸發器(Disabled Trigger)
11g中,開發人員可以可以閑創建一個invalid觸發器,需要時再編譯她。
◆在非DML語句中使用序列(sequence)
在之前版本,如果要將sequence的值賦給變數,需要通過類似以下語句實現:select seq_x.next_val into v_x from al;在11g中,不需要這么麻煩了,下面語句就可以實現:v_x := seq_x.next_val
◆PLSQL_Warning
11g中,可以通過設置PLSQL_Warning=enable all,如果在"when others"沒有錯誤爆出就發警告信息。
◆PLSQL的可繼承性
可以在oracle對象類型中通過super(和java中類似)關鍵字來實現繼承性。
◆編譯速度提高
因為不在使用外部C編譯器了,因此編譯速度提高了。
◆改進了DBMS_SQL包其中的改進之一就是DBMS_SQL可以接收大於32k的CLOB了。另外還能支持用戶自定義類型和bulk操作。
◆新的PLSQL數據類型——simple_integer這是一個比pls_integer效率更高的整數數據類型。
3.其他部分
◆增強的壓縮技術
可以最多壓縮2/3的空間。
◆高速推進技術
可以大大提高對文件系統的數據讀取速度。
◆增強了DATA Guard
可以創建standby資料庫的快照,用於測試。結合資料庫重演技術,可以實現模擬生成系統負載的壓力測試。◆在線應用升級
也就是熱補丁——安裝升級或打補丁不需要重啟資料庫。
◆資料庫修復建議器
可以在錯誤診斷和解決方案實施過程中指導DBA。
◆邏輯對象分區
可以對邏輯對象進行分區,並且可以自動創建分區以方便管理超大資料庫(Very Large Databases VLDBs)。
◆新的高性能的LOB基礎結構
◆新的PHP驅動
『捌』 PHP如何配置Oracle 10g 資料庫,並且如何連接資料庫
<?php
$db="
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = my11g)
)
)";
//$conn = oci_pconnect("sys", "123456", $db);
$conn = oci_pconnect("scott", "tiger", $db);
//$conn = ora_logon ( "scott@my11g", "tiger" );
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
// exit;
$e1 = ocierror();
echo "失敗!";
//print htmlentities($e1['message']);
exit;
}
$query = 'select * from emp';
$stid = oci_parse($conn, $query);
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT);
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
print '<table border="1">';
while($row = oci_fetch_all($stid, $array)) {
//while($row = ora_fetch($stid, OCI_RETURN_NULLS)) {
print '<tr>';
//foreach($row as $item) {
//print '<td>'.($item?htmlentities($item):'').'</td>';
echo "$array";
//}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
『玖』 php連接oracle資料庫連不上
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
看看是不是版本錯了 沒用過10gr2
oracle11的話 php_oci8_11g.dll
if($this->dbstatic==false)
{
$this->dbid=oci_connect($this->user,$this->pass,$this->host,$this->code);
if($this->dbid)
{
$this->dbstatic=true;
}
else
{
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
print htmlentities($e['message']);
return 0;
}
}
我沒問題
『拾』 PHP要連接oracle,可是報錯啊!!!用的是zend studio和oracle 11g!一直不行,跪求大神啊。
額 哥的文檔裡面都沒有這個 oci_connect()的連接函數,所以是不是就不管了,
$oci=ocilogon('localhost','root','123456')
然後sql語句的執行操作
$result = ociparse($oci,$sql);
ociexecute($result);
//OK就這樣吧 ,