用Asp實現對ORACLE資料庫的操作
鄧未玲
--------------------------------------------------------------------------------
ASP(Active Server Pages)是微軟公司為開發網際網路應用程式所提出的工具之一,ASP與資料庫的聯接一般透過ADO(Activex Data Object)來實現的,ADO可以完全支援Microsoft SQL Server ,但對應用更加廣泛、機制更加複雜的ORACLE 資料庫服務就有一些困難,如果想作一些簡單的查詢功能,ADO是足夠的,如要想更好地發揮ORACLE資料庫特有的功能,如STORED PROCEDURE,STORED FUNCTION等就要採取利用ASP存取ORACLE 資料庫服務的另個強有力工具——Oracle Object for OLE中的ORACLE物件伺服器(The Oracle Object Server)。本文從一個例項說明如何在ASP中使用ORACLE物件伺服器提供的控制元件來實現對ORACLE資料庫的存取,並就如何維護網路資料庫的完整性約束問題進行一些討論。
Oracle Object for OLE是ORACLE公司為了客戶端存取資料庫所發展的一個很需要的產品,它以Windows 95/98/NT 為基礎供所有的與 OLE 相容的應用程式與程式語言存取ORACLE資料庫,如ASP、Visual Basic excess97等 ,Oracle Object for OLE包含了ORACLE物件伺服器(The Oracle Object Server)、ORCLE 資料控制項(The Oracle Data Control)與ORACLE 物件類程式庫(The Oracle Objects for OLE C++ Class Library)等三項產品。
與ADO相比,ORACLE物件伺服器是專用於ORACLE資料庫應用程式開發的產品,它有以下優點:
(1)與資料庫伺服器的連線的執行效率好。因為ADO是透過ODBC來連線資料庫伺服器的,而ORACLE物件伺服器是透過ORACLE的SQL*NET來連線資料庫伺服器的
(2)能更好地發揮ORACLE資料庫的特有功能。如STORED PROCEDURE,STORED FUNCTION、PACKAGE或Multiple Cursor。
本例是一個通訊錄的查詢、錄入的小程式,使用者可以透過瀏覽器對通訊錄表進行查詢,也可把自己的資訊輸入,供別人查詢。
通訊錄表的結構如下:
Name Null? Type
-------------------------------------------
NAME NOT NULL CHAR(8)
ADDRESS CHAR(20)
PHONE CHAR(20)
EMAIL VARCHAR2(30)
一、進行環境配置
在WEB伺服器上安裝以下軟體並進行配置:
(1)基本的WEB 伺服器(WEB SERVER)與ASP等軟體
(2)Oracle Object for OLE2.x
(3)SQL*Net Client 或 Oracle Net8 Client 8,安裝之後,用Sql*Net Easy Configuration建立資料庫別名(Database Alias),為ASP連線到資料庫所用的別名。
二.功能實現
(1)查詢:用ASP 取資料庫通訊錄表(TSB1)的資料,將資料顯示在螢幕上。查詢的關鍵在於確定與資料庫的連線成功與否,ORACLE物件伺服器本身有錯誤控制機制可以報出資料庫連線方面的錯誤,具體的程式如下:
查詢程式
0 then
response.write"
" response.write"asp 錯誤程式碼:"&err.number&"
" response.write"asp 錯誤說明:"&err.description&"
" err.clear response.write"
" response.write"ORACLE 錯誤說明:"&OraSession.LastServerErrText&"
" else ‘查詢 sql="select * from tsb1" set oradynaset=oradatabase.dbcreatedynaset(sql,0) response.write"
"
‘關閉資料庫
oradatabase.close
set orasession=nothing
end if
%>
下面是程式的查詢結果圖面:
通 訊 錄
NAME ADDRESS PHONE EMAIL
張玲 馬鞍山市湖北路5號 0555-2887765 zhangl@mial.magang.com.cn
林向 馬鞍山市湖南路9號 0555-2223856 lingx@mail.magang.com.cn
鄧國虹 採礦路子4幢504號 0555-2474748 denggh@263.net
李城 青島海洋大學7幢507 0464-32456678 licheng@263.net
王國在 採礦小區7幢807號 0555-3445454 wang@mail.amgang.com.cn
丁剛 紅旗南路17幢405號 0555-2883721 dingg@mail.magang.com.cn
全在保 江西路子7幢607號 0554-4566777 quzab@mial.ccac.com
(2)插入自己的資訊:用ASP將使用者在瀏覽器上提供的資料插入到資料庫通訊錄表(TSB1)中,由ORACLE資料庫有一套完整性約束機制,所以插入過程不光是簡單地把資料插入到表中,還要做完整性約束的檢查,不合要求的資料拒絕插入,如果在程式中不考慮處理,執行時,就會因資料庫伺服器報錯而中斷程式。而ASP中的ERR物件可以報出錯誤來源、錯誤程式碼、錯誤說明等,並能把程式引向錯誤處理。
以下是程式,一個是insert.htm, 是一個輸入介面,供使用者輸入自己的資訊,一個是insert.asp,負責將使用者輸入資訊插入資料庫,並進行錯誤檢查。
Insert.htm:
請留下你的資訊
" response.write"asp 錯誤程式碼:"&err.number&"
" response.write"asp 錯誤說明:"&err.description&"
" ELSE ‘插入完成,返回 response.write"插入完成," end if %> 以上是本人在用ASP工具將原有的ORACLE資料庫資訊搬上網際網路應用的一些體會,例子很簡單,目的在於說明原理,本人在ASP程式中還使用使用了STORED PROCEDURE,STORED FUNCTION、PACKAGE等ORACLE特有的功能以加快速度,提高效率。希望能對大家有所啟發,請來信互相交流。 (網頁編輯:徐向陽)[@more@]
asp 錯誤控制
" response.write"asp 錯誤來源:"&err.source &"" response.write"asp 錯誤程式碼:"&err.number&"
" response.write"asp 錯誤說明:"&err.description&"
" err.clear response.write"
ORACLE OLE 錯誤控制
" response.write"ORACL錯誤程式碼:”- &OraSession.LastServerErr&"" response.write"ORACLE 錯誤說明:"&OraSession.LastServerErrText&"
" else ‘查詢 sql="select * from tsb1" set oradynaset=oradatabase.dbcreatedynaset(sql,0) response.write"
result
" response.write"" response.write oradynaset.fields(i).name & " " response.write" | " next response.write"
" response.write oradynaset.fields(i).value response.write" | " next response.write"
請輸入你的資訊
下面是使用者輸入介面: Insert.asp: 0 THEN response.write"asp 錯誤控制
" response.write"asp 錯誤來源:"&err.source &"" response.write"asp 錯誤程式碼:"&err.number&"
" response.write"asp 錯誤說明:"&err.description&"
" ELSE ‘插入完成,返回 response.write"插入完成," end if %> 以上是本人在用ASP工具將原有的ORACLE資料庫資訊搬上網際網路應用的一些體會,例子很簡單,目的在於說明原理,本人在ASP程式中還使用使用了STORED PROCEDURE,STORED FUNCTION、PACKAGE等ORACLE特有的功能以加快速度,提高效率。希望能對大家有所啟發,請來信互相交流。 (網頁編輯:徐向陽)[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/631872/viewspace-818104/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實現Oracle對ldap資料的各類操作OracleLDA
- Oracle資料庫中對BLOB資料的操作問題Oracle資料庫
- 對 oracle 資料庫日期格式,以及對日期操作的理解Oracle資料庫
- JSP實現servlet對資料庫的增刪查改操作JSServlet資料庫
- 資料庫原理與應用----實驗1:Oracle基本操作資料庫Oracle
- ASP資料庫簡單操作教程資料庫
- oracle資料庫用sql實現快速分頁Oracle資料庫SQL
- Java用OCI驅連Oracle資料庫的實現方法JavaOracle資料庫
- PHP常用操作類實現——資料庫操作類PHP資料庫
- Oracle和MySQL資料庫CTAS等操作對比OracleMySql資料庫
- 記錄:如何使用ASP.NET Core和EnityFramework Core實現 資料庫操作 和 資料庫實體 的專案分離ASP.NETFramework資料庫
- python+資料庫(三)用python對資料庫基本操作Python資料庫
- ASP.NET MongoDB資料庫操作類ASP.NETMongoDB資料庫
- hibernate及SpringBoot整合Jpa實現對資料庫操作Spring Boot資料庫
- ASP與資料庫應用資料庫
- Python實戰之Oracle資料庫操作PythonOracle資料庫
- Oracle實驗6--掌握Oracle資料庫的日誌操作Oracle資料庫
- ibatis對oracle資料庫的批量更新和批量插入的操作BATOracle資料庫
- 利用ASP實現Oracle資料記錄的分頁顯示Oracle
- 用ASP備份資料庫 (轉)資料庫
- asp實現批次錄入資料的實現 (轉)
- JQuery對ASP.NET MVC資料進行操作jQueryASP.NETMVC
- 使用GoldenGate 實現Oracle for Oracle 單向資料同步(實現表的DML操作同步)GoOracle
- MySQL 資料庫的對庫的操作及其資料型別悔鋒MySql資料庫資料型別
- 在.net中用資料工廠實現多資料庫的操作方案資料庫
- 在Oracle中實現資料庫的複製Oracle資料庫
- [資料庫] Navicat for MySQL事件Event實現資料每日定期操作資料庫MySql事件
- spring 對資料庫的併發操作Spring資料庫
- ASP.NET程式的優化建議資料庫操作ASP.NET優化資料庫
- 非常實用的Oracle資料庫資料恢復方法案例Oracle資料庫資料恢復
- sqlite操作--- oracle資料庫中的資料導進sqliteSQLiteOracle資料庫
- OGG實現兩臺oracle資料庫的同步Oracle資料庫
- MSSQL資料庫映象在Oracle中的實現方法SQL資料庫Oracle
- 在Oracle中實現資料庫的複製(轉)Oracle資料庫
- oracle Mysql PostgreSQL 資料庫的對比OracleMySql資料庫
- 在ASP中使用Oracle資料庫(2)(轉)Oracle資料庫
- 保護系統 用資料庫加密實現資料的安全資料庫加密
- DM資料庫操作實踐資料庫