亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

?? ??? ??
oracle知識(shí) ORACLE的數(shù)據(jù)類型 Oracle技術(shù)網(wǎng)—DBMS_Job包的用法 Oracle技術(shù)網(wǎng)—Oracle for NT系統(tǒng)實(shí)用工具介紹 Oracle技術(shù)網(wǎng)—Oracle常見錯(cuò)誤代碼 Oracle技術(shù)網(wǎng)—Oracle常用Script Oracle技術(shù)網(wǎng)—Oracle常用數(shù)據(jù)字典 Oracle技術(shù)網(wǎng)—ORACLE數(shù)據(jù)庫簡介 Oracle技術(shù)網(wǎng)—Oracle特殊包 Oracle技術(shù)網(wǎng)—Oracle相關(guān)站點(diǎn) Oracle技術(shù)網(wǎng)—哪些初始化參數(shù)最影響Oracle系統(tǒng)性能 PL/SQL DBA Oracle7 7.3.2.2 Oracle技術(shù)網(wǎng)—listener.log的內(nèi)容增長很快,是否可以刪除重建 Oracle技術(shù)網(wǎng)—ORACLE表空間恢復(fù)方案 Oracle技術(shù)網(wǎng)—Oracle常用系統(tǒng)文件有哪些 Oracle技術(shù)網(wǎng)—ORACLE回滾段管理(上) Oracle技術(shù)網(wǎng)—ORACLE回滾段管理(下) Oracle技術(shù)網(wǎng)—Oracle如何決定使用哪個(gè)回退段 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫的空間管理技巧 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫碎片整理 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫有哪幾種關(guān)閉方式 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫有哪幾種啟動(dòng)方式 Oracle技術(shù)網(wǎng)—Oracle預(yù)定義角色有哪些 Oracle技術(shù)網(wǎng)—ROLLBACK不能回滾的命令 Oracle技術(shù)網(wǎng)—查看哪些session正在使用哪些回滾段 Oracle技術(shù)網(wǎng)—存儲(chǔ)參數(shù)(storage子句)含義及設(shè)置技巧 Oracle技術(shù)網(wǎng)—和權(quán)限有關(guān)的表有哪些 Oracle技術(shù)網(wǎng)—漫談數(shù)據(jù)庫的啟動(dòng)和關(guān)閉 Oracle技術(shù)網(wǎng)—哪些初始化參數(shù)最影響Oracle系統(tǒng)性能 Oracle技術(shù)網(wǎng)—如何備份控制文件 Oracle技術(shù)網(wǎng)—如何查出前臺(tái)正在發(fā)出的sql語句 Oracle技術(shù)網(wǎng)—如何查看Oracle版本及安裝了哪些選項(xiàng) Oracle技術(shù)網(wǎng)—如何查看Oracle數(shù)據(jù)表的建表語句 Oracle技術(shù)網(wǎng)—如何查看SGA區(qū)剩余可用內(nèi)存 Oracle技術(shù)網(wǎng)—如何查看各個(gè)表空間占用磁盤情況 Oracle技術(shù)網(wǎng)—如何查看后臺(tái)進(jìn)程 Oracle技術(shù)網(wǎng)—如何查看什么時(shí)間有哪些數(shù)據(jù)庫對(duì)象結(jié)構(gòu)被修改過 Oracle技術(shù)網(wǎng)—如何查看數(shù)據(jù)庫的各種數(shù)據(jù)文件 Oracle技術(shù)網(wǎng)—如何查看數(shù)據(jù)庫的字符集 Oracle技術(shù)網(wǎng)—如何查看數(shù)據(jù)文件是否自動(dòng)擴(kuò)展 Oracle技術(shù)網(wǎng)—如何查看數(shù)據(jù)文件所在的路徑 Oracle技術(shù)網(wǎng)—如何查看用戶表上的約束內(nèi)容 Oracle技術(shù)網(wǎng)—如何查看用戶表所占空間的大小 Oracle技術(shù)網(wǎng)—如何查詢出primary key和forgen key的關(guān)系表 Oracle技術(shù)網(wǎng)—如何改變當(dāng)前聯(lián)機(jī)日志文件的大小 Oracle技術(shù)網(wǎng)—如何利用DBMS_SQL包和游標(biāo)計(jì)算當(dāng)前用戶下所有表的行數(shù) Oracle技術(shù)網(wǎng)—如何啟動(dòng)ARCHIVELOG模式 Oracle技術(shù)網(wǎng)—如何取出某一用戶的密碼,再原封不動(dòng)的改回去 Oracle技術(shù)網(wǎng)—如何設(shè)置BLOCK_SIZE大于2K,如:4K、16K Oracle技術(shù)網(wǎng)—如何手工指定使用哪個(gè)回退段 Oracle技術(shù)網(wǎng)—如何修改internal的口令 Oracle技術(shù)網(wǎng)—如何移動(dòng)控制文件到新的目錄中 Oracle技術(shù)網(wǎng)—如何移數(shù)據(jù)庫文件 Oracle技術(shù)網(wǎng)—如何增加表空間的大小 Oracle技術(shù)網(wǎng)—怎樣查看init.ora文件 Oracle技術(shù)網(wǎng)—怎樣查看SGA值 Oracle技術(shù)網(wǎng)—怎樣查看哪些用戶擁有SYSDBA、SYSOPER權(quán)限? Oracle技術(shù)網(wǎng)—怎樣快速查出Oracle 數(shù)據(jù)庫中的鎖等待 Oracle技術(shù)網(wǎng)—怎樣識(shí)別IO競爭和負(fù)載平衡 Exp vs Imp Oracle技術(shù)網(wǎng)—EXP、IMP 命令詳解 Oracle技術(shù)網(wǎng)—Exp/Imp大量數(shù)據(jù) Oracle技術(shù)網(wǎng)—Export/Import 使用技巧與常見錯(cuò)誤 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫的備份與恢復(fù) Oracle技術(shù)網(wǎng)—如何把數(shù)據(jù)exp到Sql loader里 Oracle技術(shù)網(wǎng)—如何單獨(dú)備份一個(gè)或多個(gè)表 Oracle技術(shù)網(wǎng)—如何單獨(dú)備份一個(gè)或多個(gè)用戶 Oracle技術(shù)網(wǎng)—如何導(dǎo)入指定表 Oracle技術(shù)網(wǎng)—如何建立一個(gè)與現(xiàn)存數(shù)據(jù)庫相同,但不包含數(shù)據(jù)的空庫 Oracle技術(shù)網(wǎng)—如何在oracle7和oracle8之間exp/imp數(shù)據(jù) Oracle技術(shù)網(wǎng)—提高ORACLE數(shù)據(jù)庫系統(tǒng)import性能 Oracle技術(shù)網(wǎng)—為何我的導(dǎo)出文件只有500K Oracle技術(shù)網(wǎng)—自動(dòng)備份Oracle數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—作Export或Import時(shí),如何記錄LOG信息? SQL技巧 Oracle技術(shù)網(wǎng)—LONG數(shù)據(jù)類型使用上的一些說明 Oracle技術(shù)網(wǎng)—Oracle8 PL/SQL編程風(fēng)格與系統(tǒng)性能的提高 Oracle技術(shù)網(wǎng)—Oracle8中用戶名、表名、列名、索引名...可以用中文命名嗎 Oracle技術(shù)網(wǎng)—Oracle中如何實(shí)現(xiàn)某一字段自動(dòng)增加1 Oracle技術(shù)網(wǎng)—SQL(Structured Query Language)語句分哪幾類 Oracle技術(shù)網(wǎng)—SQL*PLUS常用命令列表 Oracle技術(shù)網(wǎng)—SQL*Plus系統(tǒng)環(huán)境變量有哪些?如何修改? Oracle技術(shù)網(wǎng)—SQL*Plus中緩沖區(qū)命令列表 Oracle技術(shù)網(wǎng)—SQL*Plus中能運(yùn)行哪幾種命令 Oracle技術(shù)網(wǎng)—SQLPlus中的復(fù)制和粘貼技巧 Oracle技術(shù)網(wǎng)—查看本用戶下的各種對(duì)象的SQL腳本 Oracle技術(shù)網(wǎng)—查找a表中有,而在b表中沒有的記錄 Oracle技術(shù)網(wǎng)—利用PL/SQL打印ASCII表 Oracle技術(shù)網(wǎng)—如何查找、刪除表中重復(fù)的記錄 Oracle技術(shù)網(wǎng)—如何對(duì)CLOB行字段執(zhí)行全文檢索 Oracle技術(shù)網(wǎng)—如何對(duì)CLOB字段進(jìn)行全文檢索? Oracle技術(shù)網(wǎng)—如何改變表中列的名字 Oracle技術(shù)網(wǎng)—如何改變一個(gè)字段初始定義的Check范圍 Oracle技術(shù)網(wǎng)—如何給表、列加注釋 Oracle技術(shù)網(wǎng)—如何將 primary key 建在其它的表空間上 Oracle技術(shù)網(wǎng)—如何刪除表中的列 Oracle技術(shù)網(wǎng)—如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ? Oracle技術(shù)網(wǎng)—如何通過 SQL*PLUS 將符號(hào) & 、'號(hào)(單引號(hào)) 插入Oracle數(shù)據(jù)庫的表中 Oracle技術(shù)網(wǎng)—如何用SQL生成SQL批處理文件 Oracle技術(shù)網(wǎng)—如何在PL_SQL中讀寫文件 Oracle技術(shù)網(wǎng)—如何自動(dòng)生成一個(gè)含有20000101至20500101共50年日期的表 Oracle技術(shù)網(wǎng)—如何自動(dòng)生成一個(gè)含有2000年01月至2050年01月共50年月份的表 Oracle技術(shù)網(wǎng)—?jiǎng)h除a表中和b表相同的數(shù)據(jù) Oracle技術(shù)網(wǎng)—在Oracle快速進(jìn)行數(shù)據(jù)行存在性檢查 Oracle技術(shù)網(wǎng)—怎樣查看表的結(jié)構(gòu) Oracle技術(shù)網(wǎng)—怎樣改變SQL*Plus啟動(dòng)時(shí)默認(rèn)路徑 Oracle技術(shù)網(wǎng)—怎樣計(jì)算表中的記錄數(shù) Oracle技術(shù)網(wǎng)—怎樣在SQL*Plus中使用 '&' 來實(shí)現(xiàn)自定義參數(shù)變量? Oracle技術(shù)網(wǎng)—怎樣在查詢記錄時(shí)給記錄加鎖 Oracle錯(cuò)誤 Oracle7 7.3.2.2 Oracle技術(shù)網(wǎng)—Oracle 816中如何啟動(dòng)Enterprise Manager Oracle技術(shù)網(wǎng)—Oracle Enterprise Manager(OEM)工具中如何以SYSOPER、SYSDBA方式登錄 Oracle技術(shù)網(wǎng)—ORACLE數(shù)據(jù)庫應(yīng)用開發(fā)常見問題及排除 Oracle技術(shù)網(wǎng)—監(jiān)聽器錯(cuò)誤 Oracle技術(shù)網(wǎng)—聯(lián)機(jī)熱備份失敗后,如何打開數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—沒有備份、只有歸檔日志,如何恢復(fù)數(shù)據(jù)文件 Oracle技術(shù)網(wǎng)—某個(gè)數(shù)據(jù)文件損壞,如何打開數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—如何使用歸檔日志進(jìn)行完全恢復(fù) Oracle技術(shù)網(wǎng)—如何正確建立TYPE、partition(分區(qū)) Oracle技術(shù)網(wǎng)—一個(gè)控制文件被損壞,如何啟動(dòng) Oracle技術(shù)網(wǎng)—在SQL*Plus中insert進(jìn)的都是中文的,為什么一存入服務(wù)器后,再select出的就是???了 Oracle技術(shù)網(wǎng)—重裝Oracle服務(wù)器后,以前的數(shù)據(jù)可以恢復(fù)嗎 Oracle初學(xué)者入門 Oracle技術(shù)網(wǎng)—Oracle 8.1.6 for Win2000 系統(tǒng)文件解釋 Oracle技術(shù)網(wǎng)—Oracle 基本知識(shí) Oracle技術(shù)網(wǎng)—Oracle8 數(shù)據(jù)類型 Oracle技術(shù)網(wǎng)—what is sql? Oracle技術(shù)網(wǎng)—安裝、配置后,SQL*Plus操作初步 Oracle技術(shù)網(wǎng)—安裝Oracle后,經(jīng)常使用的修改表空間的SQL代碼 Oracle安裝、刪除 Oracle技術(shù)網(wǎng)—Oradim工具的用法 Oracle技術(shù)網(wǎng)—WINDOWS NT上,如何刪除ORACLE SERVICE Oracle技術(shù)網(wǎng)—如何連接兩臺(tái)Oracle服務(wù)器 Oracle技術(shù)網(wǎng)—如何在Windows 2000下將Oracle完全卸載 Oracle技術(shù)網(wǎng)—如何在WINDOWS NT上刪除所有的Oracle安裝? Oracle技術(shù)網(wǎng)—手工安裝數(shù)據(jù)庫時(shí)需要安裝那些系統(tǒng)包 Oracle技術(shù)網(wǎng)—手工創(chuàng)建數(shù)據(jù)庫的全部腳本及說明 Oracle安全性問題 Oracle技術(shù)網(wǎng)—Linux ORACLE 8.1.5漏洞 Oracle技術(shù)網(wǎng)—Oracle 8.1.6的oidldapd中的漏洞 Oracle技術(shù)網(wǎng)—Oracle8的不安全因素及幾點(diǎn)說明 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫的安全策略 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫密碼文件的使用和維護(hù) Oracle技術(shù)網(wǎng)—提高Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)安全的舉例與分析 數(shù)據(jù)庫安全性策略 Oracle系統(tǒng)設(shè)置、優(yōu)化、連接 《Oracle8 優(yōu)化技術(shù)》摘錄 (第一章 安裝) 《Oracle8 優(yōu)化技術(shù)》摘錄 (第二章 內(nèi)存/CPU) 《Oracle8 優(yōu)化技術(shù)》摘錄 (第三章 輸入/輸出) Oracle技術(shù)網(wǎng)—ASP 中通過OLEDB訪問 Oracle 的代碼 Oracle技術(shù)網(wǎng)—Delphi5 企業(yè)版使用BDE訪問 Oracle方法 Oracle技術(shù)網(wǎng)—oracle database access object Oracle技術(shù)網(wǎng)—Oracle基于Client/Server的性能調(diào)整 Oracle技術(shù)網(wǎng)—PB7 連接 Oracle 的配置方法 Oracle技術(shù)網(wǎng)—PB內(nèi)置Oracle數(shù)據(jù)庫接口的使用方法 Oracle技術(shù)網(wǎng)—PHP+Oracle(OCI) 初步 Oracle技術(shù)網(wǎng)—PHP4連接Oracle 8i的方法(轉(zhuǎn)譯) Oracle技術(shù)網(wǎng)—多個(gè)數(shù)據(jù)庫時(shí),如何設(shè)置默認(rèn)數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—如何備份Oracle設(shè)置 Oracle技術(shù)網(wǎng)—如何讓你的SQL運(yùn)行得更快 Oracle技術(shù)網(wǎng)—如何修改 SQL*Plus 的啟動(dòng)參數(shù) Oracle技術(shù)網(wǎng)—如何在Windosws 2000中安裝JSP并訪問Oracle Oracle技術(shù)網(wǎng)—如何在Windosws 2000中安裝perl并訪問Oracle Oracle技術(shù)網(wǎng)—如何在Windosws 2000中安裝PHP4并訪問Oracle Oracle技術(shù)網(wǎng)—如何在Windosws NT中使用批處理命令自動(dòng)啟動(dòng)或關(guān)閉Oracle Services Oracle技術(shù)網(wǎng)—如何在客戶端省略輸入數(shù)據(jù)庫串,而只輸入用戶名、密碼即可 Oracle技術(shù)網(wǎng)—使用Database Configuration Assistant安裝第二個(gè)數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—修改Oracle7數(shù)據(jù)庫maxdatafiles參數(shù)的方法 索引、序列、快照、數(shù)據(jù)庫鏈路、觸發(fā)器 Oracle技術(shù)網(wǎng)—觸發(fā)器的幾種應(yīng)用 Oracle技術(shù)網(wǎng)—建立觸發(fā)器時(shí)最容易忽略的兩個(gè)地方 Oracle技術(shù)網(wǎng)—快照和觸發(fā)子結(jié)合使用的例子 Oracle技術(shù)網(wǎng)—能否通過視圖更新表中的數(shù)據(jù) Oracle技術(shù)網(wǎng)—如何創(chuàng)建一個(gè)簡單的JAVA存儲(chǔ)過程? Oracle技術(shù)網(wǎng)—如何創(chuàng)建隱藏IP地址的最后一項(xiàng)的函數(shù)? Oracle技術(shù)網(wǎng)—如何加密Oracle中的存儲(chǔ)過程 Oracle技術(shù)網(wǎng)—為什么有時(shí)ORACLE數(shù)據(jù)庫不用索引來查找數(shù)據(jù) Oracle技術(shù)網(wǎng)—我的數(shù)據(jù)庫鏈路為什么不工作 Oracle技術(shù)網(wǎng)—一個(gè)建立快照的簡單例子 Oracle技術(shù)網(wǎng)—怎樣創(chuàng)建一個(gè)簡單的自定義過程并引用 Oracle技術(shù)網(wǎng)—怎樣手工刷新快照 oracle與其他數(shù)據(jù)庫的比較 MySQL 測(cè)試 Oracle技術(shù)網(wǎng)—Oracle 和 mysql 的一些簡單命令對(duì)比參照 Oracle技術(shù)網(wǎng)—Oracle8i和Microsoft SQL Server7.0比較 Oracle技術(shù)網(wǎng)—比較SQL Server與Oracle、DB2 Oracle技術(shù)網(wǎng)—各種數(shù)據(jù)類型的比較 Oracle技術(shù)網(wǎng)—戲說SQL—幾種SQL 服務(wù)器的比較 關(guān)鍵任務(wù)      在Internet上運(yùn)作公司是一項(xiàng)艱苦的任務(wù) 其它知識(shí) OEM常見問題及其解決辦法 Oracle 8 資料庫函式庫 Oracle 資料庫函式庫 Oracle技術(shù)網(wǎng)—Decode()函數(shù)使用技巧(NT+IIS+ASP+ORACLE) Oracle技術(shù)網(wǎng)—Dual偽列 Oracle技術(shù)網(wǎng)—NULL 使用詳解 Oracle技術(shù)網(wǎng)—OLAP及其多維數(shù)據(jù)分析 Oracle技術(shù)網(wǎng)—Oracle for NT系統(tǒng)實(shí)用工具介紹 Oracle技術(shù)網(wǎng)—ORACLE 用戶的規(guī)范化管理 Oracle技術(shù)網(wǎng)—user、uid偽列 Oracle技術(shù)網(wǎng)—大型數(shù)據(jù)庫設(shè)計(jì)原則 Oracle技術(shù)網(wǎng)—留言簿(帶Oracle數(shù)據(jù)庫分頁的顯示功能) Oracle技術(shù)網(wǎng)—漫談oracle中的空值 Oracle技術(shù)網(wǎng)—如何正確利用Rownum來限制查詢所返回的行數(shù) Oracle技術(shù)網(wǎng)—什么是ROWID,為什么需要它 Oracle技術(shù)網(wǎng)—數(shù)據(jù)庫技術(shù)考試大綱(中級(jí)) Oracle技術(shù)網(wǎng)—數(shù)據(jù)庫行業(yè)的現(xiàn)狀和展望 Oracle技術(shù)網(wǎng)—在客戶端處理Oracle的數(shù)據(jù)行加鎖問題 如何對(duì)CLOB行字段執(zhí)行全文檢索 Developer 2000 Oracle技術(shù)網(wǎng)—Developer/2000中各鍵盤觸發(fā)子所對(duì)應(yīng)的“按鍵” Oracle技術(shù)網(wǎng)—FORM調(diào)用REPORT時(shí),如何去掉report server Oracle技術(shù)網(wǎng)—FORM中,Exception(例外)都有哪些,如何書寫 Oracle技術(shù)網(wǎng)—FORM中,F(xiàn)ORM中,如何引入圖像 Oracle技術(shù)網(wǎng)—FORM中,WINDOW標(biāo)題的設(shè)置 Oracle技術(shù)網(wǎng)—FORM中,常用快捷鍵有哪些 Oracle技術(shù)網(wǎng)—FORM中,觸發(fā)子exit_form的兩種功能是什么 Oracle技術(shù)網(wǎng)—FORM中,當(dāng)光標(biāo)走到塊的最后一項(xiàng)時(shí),如何讓按“enter回車”鍵時(shí),光標(biāo)自動(dòng)走到下一條記錄的第一項(xiàng)? Oracle技術(shù)網(wǎng)—FORM中,當(dāng)用鼠標(biāo)點(diǎn)擊標(biāo)簽畫布的某一“標(biāo)簽頁”時(shí),如何判斷點(diǎn)擊的是哪一頁 Oracle技術(shù)網(wǎng)—FORM中,如何屏蔽默認(rèn)的功能鍵 Oracle技術(shù)網(wǎng)—FORM中,如何實(shí)現(xiàn)屏幕同步刷新? Oracle技術(shù)網(wǎng)—FORM中,如何使用警告 Oracle技術(shù)網(wǎng)—FORM中,如何通過 ODBC 訪問 Acress 數(shù)據(jù)? Oracle技術(shù)網(wǎng)—FORM中 Oracle技術(shù)網(wǎng)—FORM中,設(shè)置應(yīng)用特性(光標(biāo)類型) Oracle技術(shù)網(wǎng)—FORM中,怎樣創(chuàng)建動(dòng)態(tài)下拉列表List Oracle技術(shù)網(wǎng)—FORM中如何存取聲音 Oracle技術(shù)網(wǎng)—FORM中如何存取圖象?如何把圖象從一個(gè)表中導(dǎo)到另一個(gè)表中? Oracle技術(shù)網(wǎng)—MIS中的圖像應(yīng)用技術(shù) Oracle技術(shù)網(wǎng)—MIS中的圖像應(yīng)用技術(shù) Oracle技術(shù)網(wǎng)—從FORM中調(diào)用REPORT時(shí),如何使打印結(jié)果直接輸出到打印機(jī)上 Oracle技術(shù)網(wǎng)—如何從FORM中調(diào)用REPORT程序 Oracle技術(shù)網(wǎng)—如何改變FORM(FMX模塊)運(yùn)行時(shí)的title? Oracle技術(shù)網(wǎng)—如何在FORM運(yùn)行中,使定制菜單中的“窗口(W)”菜單項(xiàng)不顯示 Oracle技術(shù)網(wǎng)—如何在啟動(dòng)FORM程序時(shí)直接登錄到Oracle數(shù)據(jù)庫上? Oracle技術(shù)網(wǎng)—運(yùn)行FORM時(shí),如何使按鈕變灰(即無效) Oracle技術(shù)網(wǎng)—運(yùn)行FORM時(shí),如何使窗口(runtime窗口、畫布窗口)自動(dòng)變成最大化、最小化? Oracle技術(shù)網(wǎng)—在Developer/2000中如何讀寫文本型操作系統(tǒng)文件 Oracle技術(shù)網(wǎng)—在Oracle中實(shí)現(xiàn)報(bào)表的定長輸出 linux vs Unix How To Install Oracle 8.0.5 onto RedHat Linux 6 HOWTO: OAS for Linux on FreeBSD HOWTO: Oracle for Linux on FreeBSD Oracle 7.3.4 Enterprise Edition for SCO UNIX 安裝步驟 Oracle技術(shù)網(wǎng)—Oracle .com 套件在TurboLinux上的安裝 Oracle技術(shù)網(wǎng)—ORACLE 7.3 Enterprise在SCO OPEN SERVER 5.02 及 5.04 的安裝過程 Oracle技術(shù)網(wǎng)—ORACLE 7.3.4.2 for SCO Unix 安裝說明 Oracle技術(shù)網(wǎng)—Oracle 8 for solaris 2.6 安裝步驟 Oracle技術(shù)網(wǎng)—Oracle 8(8.0.5)標(biāo)準(zhǔn)版安裝指南 Oracle技術(shù)網(wǎng)—Oracle 8i(8.1.5)企業(yè)版安裝指南 Oracle技術(shù)網(wǎng)—ORACLE FOR SUN SOLARIS 安裝手冊(cè) Oracle技術(shù)網(wǎng)—ORACLE FOR SUN SOLARIS 維護(hù)手冊(cè) Oracle技術(shù)網(wǎng)—ORACLE V.7.3.4.3 FOR AIX 安裝說明 Oracle技術(shù)網(wǎng)—ORACLE8I FOR SUN SOLARIS2.7 安裝說明 Oracle技術(shù)網(wǎng)—RedHat 6.1 Step-by-step Install notes for Oracle 8i Oracle技術(shù)網(wǎng)—RedHat Linux 6.0 上 Oracle 8(8.0.5)標(biāo)準(zhǔn)版 安裝實(shí)例 Oracle技術(shù)網(wǎng)—RedHat Linux 6.0 上 Oracle 8i R2 (8.1.6) 企業(yè)版安裝實(shí)例 Oracle技術(shù)網(wǎng)—如何集成Linux/Apache/PHP4/FastCGI/Oracle/MySQL環(huán)境 Oracle技術(shù)網(wǎng)—如何在你的Linux機(jī)器上安裝運(yùn)行Oracle Oracle技術(shù)網(wǎng)—為Linux配備Oracle 8 Oracle技術(shù)網(wǎng)—在RedHat 6.0上安裝Oracle 8i(全攻略)
??



留言簿(帶Oracle數(shù)據(jù)庫分頁的顯示功能)

摘自:程序人生

作者:可樂


大部份的網(wǎng)站,都會(huì)考慮到和使用者之間的互動(dòng)關(guān)系。這時(shí),用留言版的功能,可讓使用者留下到此一游,或者是一些和網(wǎng)站的互動(dòng)訊息。?
在設(shè)計(jì)上,可以很簡單的只留下使用者的短篇留言,也可以設(shè)計(jì)到依性質(zhì)分門別類很復(fù)雜的?Web?BBS?系統(tǒng)。當(dāng)然,要如何打造一個(gè)屬于自己網(wǎng)站的留言版,就端賴網(wǎng)站的性質(zhì)以及?Web?網(wǎng)站開發(fā)人員的巧思了。?

在這里介紹的范例,是簡單的列示所有留言的內(nèi)容。供使用者可以一次看到多筆留言的資料。系統(tǒng)的后端存放留言是用?Oracle?7.x?版的資料庫系統(tǒng)。范例中的資料庫(database)?名稱為?WWW,連線的使用者帳號(hào)為?user38、密碼為?iam3849。要直接使用本例,必須先執(zhí)行下面的?SQL?指令,建立?guestbook?的資料表格。?

CREATE?TABLE?guestbook?(?
serial?varchar2(255)?not?null,?
ref?varchar2(255)?null,?
id?char(8)?not?null,?
alias?varchar2(32)?not?null,?
ip?varchar2(1024)?null,?
msgdate?date?not?null,?
email?varchar2(1024)?null,?
msg?varchar2(2000)?not?null,?
flag?char(1)?default?1,?
primary?key(serial)?
);?



上面的?SQL?各欄位說明及詳細(xì)資料見下表?

序號(hào)?欄位?名稱?資料形態(tài)?資料長度?欄位說明?限制?Key?
0?流水號(hào)?serial?varchar2?255?NN?PK?
1?參照流水號(hào)?ref?varchar2?255?暫保留。供回?
覆留言功能用?
2?帳號(hào)?id?char?8?使用者帳號(hào)?NN?
3?匿名?alias?varchar2?32?顯示的名字?NN?
4?網(wǎng)址?ip?varchar2?1024?上網(wǎng)?IP?
5?時(shí)間?msgdate?date?NN?
6?電子郵件?email?varchar2?1024?
7?留言內(nèi)容?msg?varchar2?2000?NN?
8?顯示旗標(biāo)?flag?char?1?0:?不顯示?
1:?顯示?(內(nèi)定)?


在本節(jié)的留言版相關(guān)程式中,若加入了使用者認(rèn)證功能,則可以在?guestbook資料表的帳號(hào)欄中留下使用者的認(rèn)證帳號(hào),方便?Webmaster?日后找尋不當(dāng)?shù)陌l(fā)信者。在這兒先留下欄位,讓需要的讀者們實(shí)習(xí)了。?

要使用本節(jié)的程式,首先要先裝好?Oracle?7.x?版,并確定?Web?Server?端的SQL*net?可以順利連上?Oracle?資料庫。之后還要在編譯?PHP?時(shí)加?

--with-oracle=/home/oracle/product/7.3.2?的選項(xiàng),當(dāng)然改成其它的路徑也沒關(guān)系,只要該路徑真的是?Oracle?的路徑即可。有關(guān)?Oracle?裝設(shè)及使用上的細(xì)節(jié)請(qǐng)參考相關(guān)書籍。?

下面的程式是將使用者的留言資訊加到?guestbook?留言資料表中。若要設(shè)定使用者認(rèn)證功能,可在程式剛開始時(shí)檢查,發(fā)留言者就可以確認(rèn)身份,而讀取留言就不必身份檢查。這種設(shè)定可以防止不當(dāng)發(fā)言,卻又不會(huì)讓留言功能只有少數(shù)人使用。?


<?php?
file://---------------------------?
//?新增留言程式?addmsg.php?
//?Author:?Wilson?Peng?
//?Copyright?(C)?2000?
file://---------------------------?
//?
//?可自行在這兒加入身份檢查功能?
//?
if?(($alias!="")?and?($msg!=""))?{?
putenv("ORACLE_SID=WWW");?
putenv("NLS_LANG=american_taiwan.zht16big5");?
putenv("ORACLE_HOME=/home/oracle/product/7.3.2");?
putenv("LD_LIBRARY_PATH=/home/oracle/product/7.3.2/lib");?

putenv("ORA_NLS=/home/oracle/product/7.3.2/ocommon/nls/admin/data");?

putenv("ORA_NLS32=/home/oracle/product/7.3.2/ocommon/nls/admin/data");?

$handle=ora_logon("user38@WWW","iam3849")?or?die;?
$cursor=ora_open($handle);?
ora_commitoff($handle);?

$serial=md5(uniqid(rand()));?
$ref="";?
$id=$PHP_AUTH_USER;?
$ip=$REMOTE_ADDR;?
$msg=base64_encode($msg);?
$flag="1";?
$query="INSERT?into?guestbook(serial,?ref,?id,?alias,?ip,?
msgdate,?email,?msg,?flag)?values('$serial',?'$ref',?'$id',?'$alias',?'$ip',?
sysdate,?'$email',?'$msg',?'$flag')";?

ora_parse($cursor,?$query)?or?die;?
ora_exec($cursor);?

ora_close($cursor);?
ora_logoff($handle);?

Header("Location:?./index.php");?
exit;?

}?else?{?
?>?
<html>?
<head>?
<title>填寫留言</title>?
</head>?
<body?bgcolor=ffffff>?
<form?method=POST?action="<??echo?$PHP_SELF;??>">?
<table?border=0?cellpadding=2?width=395>?
<tr>?
<td?nowrap><font?color=004080>代號(hào)小名</font></td>?
<td?width=20%><input?type=text?name=alias?size=8></td>?
<td?nowrap><font?color=004080>電子郵件</font></td>?
<td?width=50%><input?type=text?name=email?size=18></td>?
</tr>?
<tr>?
<td?nowrapvalign=top><font?color=004080>內(nèi)容</font></td>?
<td?width=80%?colspan=3><textarea?rows=5?name=msg?
cols=33></textarea></td>?
</tr>?
<tr>?
<td?width=100%?colspan=4?align=center>?
<input?type=submit?value="送出留言">?
<input?type=reset?value="擦掉留言">?
</td>?
</tr>?
</table>?
</form>?
</body>?
</html>?
<?php?
}?
?>?


上面的程式在執(zhí)行時(shí),先檢查變數(shù)?alias?和?msg?是否有資料,若無資料則送出填寫留言的表格到使用者端,供使用者填寫留言。?

若使用者填好留言,按下?"送出留言"?的按鈕后,則執(zhí)行程式的前半部份。?

程式大概分成五部份?

1..?設(shè)定?Oracle?需要的環(huán)境變數(shù)?
2..?連上?Oracle?資料庫?
3..?整理資料,送入?Oracle?中?
4..?結(jié)束與?Oracle?的連線?
5..?結(jié)束程式,顯示最新的留言資料?
在設(shè)定?Oracle?環(huán)境的部份,用?PHP?的函式?putenv(),可設(shè)定作業(yè)系統(tǒng)層的環(huán)境變數(shù)。要使用中文要記得加入下面這行?

putenv("NLS_LANG=american_taiwan.zht16big5");?

之后就使用?Oracle?函式庫的功能:?ora_logon()?等等。詳見?Oracle?資料庫函式庫。利用這個(gè)函式庫,可以很輕易的操作?Oracle?資料庫。?

再來就是整理資料,以便置入?Oracle?資料庫中?

$serial=md5(uniqid(rand()));?
$ref="";?
$id=$PHP_AUTH_USER;?
$ip=$REMOTE_ADDR;?
$msg=base64_encode($msg);?
$flag="1";?
$query="INSERT?into?guestbook(serial,?ref,?id,?alias,?ip,?msgdate,?
email,?msg,?flag)?values('$serial',?'$ref',?'$id',?'$alias',?'$ip',?sysdate,?
'$email',?'$msg',?'$flag')";?

$serial?變數(shù)為獨(dú)一無二的字串,程式先亂數(shù)產(chǎn)生獨(dú)特的字串,再用?md5?編碼,將字串弄亂,形成類似雜湊處理后的無意義字串。由于字串長,又變得很亂,可防止使用者,尤其是駭客或飛客利用序號(hào)來戳系統(tǒng)。?

$ref?變數(shù)目前是無效的。$id?變數(shù)為使用者認(rèn)證用,若在程式開始處有加入使用者認(rèn)證的程式,則?$PHP_AUTH_USER?會(huì)變成使用者的帳號(hào),傳入?$id?變數(shù)中。?

至于使用者寫的字串,為了防止資料庫或處理時(shí)的復(fù)雜性甘脆將它用?BASE64?編碼。可以讓中文字的奇怪字元一字消失,當(dāng)然這是鋸箭法,不過對(duì)?Web?程式而言,執(zhí)行快速、修改方便才是最重要的,實(shí)在沒有必要再浪費(fèi)精力去處理這些中文的沖碼問題了。值得注意的是使用?BASE64?編碼,會(huì)讓字串膨脹大約?1/3,若資料庫的儲(chǔ)存空間有限,可能就不適合用這個(gè)方法了,話又說回來,現(xiàn)在硬碟便宜,隨便就是十幾?GB?以?
上,應(yīng)該不會(huì)考慮資料庫空間有限的問題才對(duì)。?

最后,將變數(shù)整理成?$query?字串,供資料庫執(zhí)行?SQL?指令使用就可以了。?

ora_parse($cursor,?$query)?or?die;?
ora_exec($cursor);?
ora_close($cursor);?
ora_logoff($handle);?

要執(zhí)行?Oracle?的?SQL?指令前,要先經(jīng)過?parse?的動(dòng)作。若在前面加上?@?(如:?@ora_prase();),可以不讓使用者看到錯(cuò)誤訊息。在執(zhí)行?query?指令后,就可以關(guān)閉與?Oracle?之間的連線了。?

Header("Location:?./index.php");?
exit;?

這二行讓瀏覽器重導(dǎo)到?index.php。讓使用者看到他的新留言,就完成了留言的動(dòng)作。?

之后來看看留言的內(nèi)容顯示程式。?


<html>?
<head>?
<meta?content="text/html;?charset=gb2312"?
http-equiv=Content-Type>?
<title>留言版</title>?
</head>?
<body?bgcolor=ffffff>?
<?php?
file://---------------------------?
//?留言顯示程式?index.php?
//?Author:?Wilson?Peng?
//?Copyright?(C)?2000?
file://---------------------------?

$WebmasterIPArray?=?
ay(?
"10.0.1.30",?//?管理人員甲的機(jī)器?IP?
"10.0.2.28"?//?管理人員乙的機(jī)器?IP?
);?

$WebmasterIP=false;?
for?($i=0;?$i<Count($WebmasterIPArray);?$i++)?{?
if?($REMOTE_ADDR?==?$WebmasterIPArray[$i])?$WebmasterIP=true;?
}?

putenv("ORACLE_SID=WWW");?
putenv("NLS_LANG=american_taiwan.zht16big5");?
putenv("ORACLE_HOME=/home/oracle/product/7.3.2");?
putenv("LD_LIBRARY_PATH=/home/oracle/product/7.3.2/lib");?
putenv("ORA_NLS=/home/oracle/product/7.3.2/ocommon/nls/admin/data");?
putenv("ORA_NLS32=/home/oracle/product/7.3.2/ocommon/nls/admin/data");?

$handle=ora_logon("user38@WWW","iam3849")?or?die;?
$cursor=ora_open($handle);?
ora_commitoff($handle);?

$query="SELECT?serial,?ref,?id,?alias,?ip,?TO_CHAR(msgdate,?'yyyy/mm/dd?hh:mi:ss'),?email,?msg?FROM?guestbook?where?flag='1'?order?by?msgdate?desc";?
ora_parse($cursor,?$query)?or?die;?
ora_exec($cursor);?
$i=0;?
while(ora_fetch($cursor))?{?
$guestbook[$i][0]?=?ora_getcolumn($cursor,0);?
$guestbook[$i][1]?=?ora_getcolumn($cursor,1);?
$guestbook[$i][2]?=?ora_getcolumn($cursor,2);?
$guestbook[$i][3]?=?ora_getcolumn($cursor,3);?
$gu?
estbook[$i][4]?=?ora_getcolumn($cursor,4);?
$guestbook[$i][5]?=?ora_getcolumn($cursor,5);?
$guestbook[$i][6]?=?ora_getcolumn($cursor,6);?
$guestbook[$i][7]?=?ora_getcolumn($cursor,7);?
$i++;?
}?
ora_close($cursor);?
ora_logoff($handle);?

echo?"<a?href=addmsg.php>新增留言....</a><p>\n";?

if?($QUERY_STRING!="")?

$page?=?$QUERY_STRING;?
}?else?

$page?=?0;?
}?

$i=count($guestbook);?
$msgnum=20;?//?每頁二十筆?
$start?=?$page?*?$msgnum;?
$end?=?$start?+?$msgnum;?
if?($end?>?$i)?$end=$i;?
$totalpage=$i/$msgnum;?

$pagestr="";?
if?($page>0)?$pagestr=$pagestr."<a?
href=index.php?".($page-1).">&lt;上頁</a>?-?";?
$pagestr=$pagestr."[第?";?
for?($i=0;?$i<$totalpage;?$i++)?

if?($i!=$page)?

$pagestr?=?$pagestr."<a?href=index.php?$i>".($i+1)."</a>?";?
}?else?

$pagestr?=?$pagestr.($i+1)."?";?
}?
}?
$pagestr=$pagestr."?頁]?";?
if?($page<($totalpage-1))?$pagestr=$pagestr."-?<a?
href=index.php?".($page+1).">下頁&gt;</a>?";?

$pagestr="<div?align=center>$pagestr</div>";?
echo?"<p>".$pagestr."<hr><p>\n";?

for?($i=$start;?$i<$end;?$i++)?

echo?"<p><hr><p>\n";?
echo?"<p>\n<font?color=e06060>".$guestbook[$i][5]."</font>?
&nbsp;?";?
if?($guestbook[$i][6]!="")?echo?"<a?
href=mailto:".$guestbook[$i][6].">";?
echo?"<strong>".$guestbook[$i][3]."</strong>";?
if?($guestbook[$i][6]!="")?echo?"</a>";?
echo?"<br>\n";?
if?($WebmasterIP)?echo?"<a?
href=erase.php?".$guestbook[$i][0].">刪除本篇!!</a>?(".$guestbook[$i][2].")?
&nbsp;?";?
echo?"<font?size=-1?color=c0c0c0>from:?
".$guestbook[$i][4]."</font><p>\n";?
$msg=base64_decode($guestbook[$i][7]);?
$msg=nl2br($msg);?
echo?$msg;?
echo?"<p>\n";?
}?

echo?"<p><hr><p>\n";?
echo?$pagestr;?

?>?
</body>?
</html>?

在顯示留言的部份,考慮到留言內(nèi)容若很多,加上網(wǎng)路慢的話,可能會(huì)讓使用者在線路慢的時(shí)候拖累整個(gè)資料庫,因此,盡快的連上資料庫,取得需要的資料后,馬上關(guān)閉資料庫,再慢慢送給使用者,應(yīng)是最好的對(duì)策。?

程式分成四部份?

1..?初始化?
2..?取資料庫中的資料?
3..?計(jì)算要顯示的頁數(shù)?
4..?送出資料?
這個(gè)程式在?BIGLOBE?上有實(shí)作,由于這是一間?ISP?公司,因此在設(shè)定時(shí)限定撥?
接或?qū)>€的會(huì)員才能看到,進(jìn)入前要輸入帳號(hào)及密碼。有興趣者不妨買個(gè)?BIGLOBE?的?
撥接帳號(hào)參考。為了保護(hù)留言者的隱私,留言以馬賽克處理。?



$WebmasterIPArray?=?array(?
"10.0.1.30",?//?管理人員甲的機(jī)器?IP?
"10.0.2.28"?//?管理人員乙的機(jī)器?IP?
);?

$WebmasterIP=false;?
for?($i=0;?$i<Count($WebmasterIPArray);?$i++)?{?
if?($REMOTE_ADDR?==?$WebmasterIPArray[$i])?$WebmasterIP=true;?
}?
//?之后初始化?Oracle?程式略?

顯示程式和留言程式的初始化部份都差不多,但顯示程式多加了一個(gè)功能,設(shè)定Webmaster?的電腦。將?Webmaster?使用的?IP?Address?加在?$WebmasterIPArray?陣列變數(shù)中,可以在顯示留言時(shí),顯示刪除留言的字串,方便處理不當(dāng)?shù)牧粞浴?

$handle=ora_logon("user38@WWW","iam3849")?or?die;?
$cursor=ora_open($handle);?
ora_commitoff($handle);?

$query="SELECT?serial,?ref,?id,?alias,?ip,?TO_CHAR(msgdate,?
'yyyy/mm/dd?hh:mi:ss'),?email,?msg?FROM?guestbook?where?flag='1'?order?by?
msgdate?desc";?
ora_parse($cursor,?$query)?or?die;?
ora_exec($cursor);?
$i=0;?
while(ora_fetch($cursor))?{?
$guestbook[$i][0]?=?ora_getcolumn($cursor,0);?
$guestbook[$i][1]?=?ora_getcolumn($cursor,1);?
$guestbook[$i][2]?=?ora_getcolumn($cursor,2);?
$guestbook[$i][3]?=?ora_getcolumn($cursor,3);?
$guestbook[$i][4]?=?ora_getcolumn($cursor,4);?
$guestbook[$i][5]?=?ora_getcolumn($cursor,5);?
$guestbook[$i][6]?=?ora_getcolumn($cursor,6);?
$guestbook[$i][7]?=?ora_getcolumn($cursor,7);?
$i++;?
}?
ora_close($cursor);?
ora_logoff($handle);?

在初始化后,就可以連上?Oracle?資料庫,將留言的資料取出放在?$guestbook陣列中。取得資料后,就趕緊將資料庫關(guān)閉,再來處理?$guestbook?陣列的資料了。?

if?($QUERY_STRING!="")?{?
$page?=?$QUERY_STRING;?
}?else?{?
$page?=?0;?
}?

這一段程式判斷是要顯示第幾頁,內(nèi)定值是顯示第一頁。要顯示第三頁的頁面,需要使用?http://xxxxxx/index.php?2?的格式,也就是傳入?$QUERY_STRING,余類推。之后的數(shù)行程式,都是用來處理顯示的頁數(shù)及筆數(shù)的資料。?

$msgnum=20;?//?每頁二十筆?

要改變每頁的顯示筆數(shù),可以改?$msgnum?變數(shù)。程式的內(nèi)定值為?20?筆。?

for?($i=$start;?$i<$end;?$i++)?{?
echo?"<p><hr><p>\n";?
echo?"<p>\n<font?color=e06060>".$guestbook[$i][5]."</font>?&nbsp;?";?
if?($guestbook[$i][6]!="")?echo?"<a?
href=mailto:".$guestbook[$i][6].">";?
echo?"<strong>".$guestbook[$i][3]."</strong>";?
if?($guestbook[$i][6]!="")?echo?"</a>";?
echo?"<br>\n";?
if?($WebmasterIP)?echo?"<a?href=erase.php?".$guestbook[$i][0].">刪除?
本篇!!</a>?(".$guestbook[$i][2].")?&nbsp;?";?
echo?"<font?size=-1?color=c0c0c0>from:?
".$guestbook[$i][4]."</font><p>\n";?
$msg=base64_decode($guestbook[$i][7]);?
$msg=nl2br($msg);?
echo?$msg;?
echo?"<p>\n";?
}?

這一段程式就是真正顯示留言資料給使用者看的程式了。利用?for?回圈,將$guestbook?陣列的資料按照設(shè)定的頁數(shù)取出,顯示給使用者看。值得一提的是,若看留言的機(jī)器?IP?為?$WebmasterIPArray?變數(shù)陣列中的一個(gè)元素的話,則會(huì)在留言者的匿稱后顯示?"刪除本篇!!"?的字串,供管理人員刪除不當(dāng)留言。?

以下即為刪除留言的程式。?


<?php?
file://---------------------------?
//?留言刪除程式?erase.php?
//?Author:?Wilson?Peng?
//?Copyright?(C)?2000?
file://---------------------------?
putenv("ORACLE_SID=WWW");?
putenv("NLS_LANG=american_taiwan.zht16big5");?
putenv("ORACLE_HOME=/home/oracle/product/7.3.2");?
putenv("LD_LIBRARY_PATH=/home/oracle/product/7.3.2/lib");?

putenv("ORA_NLS=/home/oracle/product/7.3.2/ocommon/nls/admin/data");?

putenv("ORA_NLS32=/home/oracle/product/7.3.2/ocommon/nls/admin/data");?

$handle=ora_logon("user38@WWW","iam3849")?or?die;?
$cursor=ora_open($handle);?
ora_commitoff($handle);?

$query="UPDATE?guestbook?set?flag='0'?where?
serial='".$QUERY_STRING."'";?
ora_parse($cursor,?$query)?or?die;?
ora_exec($cursor);?

ora_close($cursor);?
ora_logoff($handle);?

Header("Location:?./index.php");?
?>?



其實(shí)這個(gè)程式很單純,只要打開?Oracle?資料庫,將欲刪除的序號(hào)那筆資料的flag?欄位設(shè)成?0?就可以了,不用將資料真的從資料庫上移除。
?? ??: ?? ??: