狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當(dāng)前位置:系統(tǒng)之家 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

在ASP中運用Oracle Object for OLE訪問Oracle 8

在ASP中運用Oracle Object for OLE訪問Oracle 8

更新時間:2019-12-08 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):


ASP(Active Server Pages)是微軟公司為開發(fā)互聯(lián)網(wǎng)絡(luò)應(yīng)用程序所提出的工具之一,它是一種類似HTML(Hypertext
Markup Language超文本標(biāo)記語言)、Script與CGI(Common Gateway Interface通用網(wǎng)關(guān)接口)的結(jié)合體,但是其運行效率卻
比CGI更高、程序編制也比HTML更方便且更有靈活性,程序安全性及保密性遠(yuǎn)比Script好。因此ASP是目前網(wǎng)頁開發(fā)技術(shù)中
最容易學(xué)習(xí)、靈活性最大的開發(fā)工具。
ASP內(nèi)置的ADO組件是微軟公司開發(fā)的互聯(lián)網(wǎng)絡(luò)數(shù)據(jù)庫存取解決方案,也是ASP存取數(shù)據(jù)庫的重要功臣,ADO通過ODBC訪問數(shù)
據(jù)庫,從理論上講ADO能訪問各種ODBC所支持的數(shù)據(jù)庫,如Microsoft SQL Server,Access,F(xiàn)oxpro,Oracle,Dbase等,
然而在實踐中我們發(fā)現(xiàn)ADO可以完全支持Microsoft SQL Server和Acess,然而對于Oracle就有些困難了,筆者在實踐中利
用ADO訪問Oracle8,結(jié)果發(fā)現(xiàn)ADO不能訪問Oracle8的數(shù)字型字段,并且發(fā)現(xiàn)ADO訪問Oracle8的速度極慢。
為了解決利用ASP訪問Oracle8的速度及其他技術(shù)問題,筆者嘗試了利用Oracle Object for OLE訪問Oracle8,結(jié)果完全取
得了筆者預(yù)期的結(jié)果。
Oracle Object for OLE是Oracle公司為了客戶端存取數(shù)據(jù)庫所發(fā)展的一個重要的產(chǎn)品,它以Windows95/98/NT為基礎(chǔ),共
所有與OLE兼容的應(yīng)用程序訪問Oracle數(shù)據(jù)庫。它是沒有用戶界面的OLE Server,其所包含的Oracle Objects Server是ASP
訪問Oracle數(shù)據(jù)庫的重要功臣之一。
要通過Oracle Objects Server來訪問Oracle8數(shù)據(jù)庫,除了基本的Web服務(wù)器與ASP等軟件外,還必須確定Web服務(wù)器已經(jīng)安
裝了Oracle Object for OLE軟件,其所需的軟件包括:Network Protocol Adapter、Oracle Object for OLE2.X、
SQL*Net Client2.X或Oracle Net8 Client8.X、SQL*Plus及Oracle8 ODBC Driver。在確定Web服務(wù)器已安裝上述軟件后,
還必須利用SQL*Net Client2.X或Oracle Net8 Client8.X進(jìn)行數(shù)據(jù)庫的連接測試并設(shè)置數(shù)據(jù)庫別名(Database Alias)。
Oracle Objects Server共提供Oraclient、Orasession、Oraconnection、OraDatabase、OraDynaset、OraSQLstmt、
OraField、Oraparameter、Oraparameter Array等九個對象供開發(fā)者使用。其功能與作用分述如下:
1.Oraclient對象
Oraclient對象是用來定義服務(wù)器端(Client或Workstation)的范圍,Oraclient會記錄此服務(wù)器端的所有Orasession對象。
Oraclient由系統(tǒng)根據(jù)需要自動建立。
2.Orasession對象
Orasession對象用來在程序中管理Oraconnection、OraDatabase、OraDynaset等對象,其建立方法如下:
Set Orasession=Create(“OracleInProcServer.Xorasession”)
3.Oraconnection對象
Oraconnection對象表示對OraDatabase對象的連接,當(dāng)需要建立OraDatabase對象時,系統(tǒng)會自動產(chǎn)生一個Oraconnection
對象。反之,當(dāng)與數(shù)據(jù)庫斷開連接時,Oraconnection對象自動釋放。
4.OraDatabase對象
OraDatabase對象表示對數(shù)據(jù)庫服務(wù)器的虛擬登錄,其登錄方法如下:
Set Oradadabase=Orasession.Dbopendatabase_
(“數(shù)據(jù)庫別名”, “用戶名稱/密碼”,0)
5.OraDynaset對象
OraDynaset對象會將數(shù)據(jù)庫服務(wù)器符合SELECT命令的數(shù)據(jù)加以存儲在客戶端的緩沖區(qū),讓用戶瀏覽或更新,最后將結(jié)果寫
回到服務(wù)器,其方法如下:
SetOraDynaset=OraDatabase.DbcreateDynaset(“SQL語句”,0)
6.OraSQLstmt對象
OraSQLstmt對象通常用來運行SQL命令、或是調(diào)用存儲過程,其用法如下:
Set Orasqlstmt=Oradatabase.createSQl(“SQL語句”,0)
7.OraField對象
OraField對象表示在OraDynaset對象中的某個字段或數(shù)據(jù)項目,他通過Value屬性設(shè)置或取得OraDynaset對象中的某個字段
值。
8.Oraparameter對象
Oraparameter對象表示一個在SQL命令或PL/SQL程序區(qū)塊中所附加的變量。
9.Oraparameter Array對象
Oraparameter Array對象是Oraparameter對象的數(shù)組類型,Oraparameter Array對象可以間接通過OraDatabase對象的
Oraparameter數(shù)據(jù)集合來增加、存取或刪除某個變量。

下面舉一具體例子說明如何在ASP中利用Oracle Object for OLE訪問Oracle 8。
筆者編寫了一個在ASP中利用Oracle Object for OLE2.3查詢Oracle 8.0.5數(shù)據(jù)庫,并進(jìn)行分頁顯示的程序。由于
Orasession對象的屬性中沒有控制分頁的屬性,應(yīng)此筆者自編了分頁控制的程序。
以下共兩個ASP文件(query.asp和query1.asp),query.asp文件先取得數(shù)據(jù)庫表的內(nèi)容,然后計算分頁的頁數(shù),如果頁數(shù)超
過一頁,則交由query1.asp處理,其程序代碼如下
‘query.asp
<%
‘連接數(shù)據(jù)庫
set orasession=createobject("oracleinprocserver.xorasession")
set oradatabase=orasession.dbopendatabase("orant","scotter/tiger",0)
‘設(shè)置查詢條件
sql="select * from cq_hjwj "
set session(oradynaset)=oradatabase.dbcreatedynaset(sql,0)
‘設(shè)置頁長
pagesize=15
if session(oradynaset).recordcount=0 then
response.write "無符合條件的數(shù)據(jù)"
else
response.write"<h3>查詢結(jié)果</h3>"
‘計算頁數(shù)
pages=int(session(oradynaset).recordcount/pagesize)
if pages*pagesize=session(oradynaset).recordcount then
pages=int(session(oradynaset).recordcount/pagesize)
else
pages=int(session(oradynaset).recordcount/pagesize)+1
end if
if request("page")="" then
page=1
else
page=cstr(request("page"))
end if
response.write"共"&pages&"頁,目前第"&page&"頁"
response.write"<table border=5><tr>"
for i=0 to session(oradynaset).fields.count - 1
response.write"<td>"
response.write session(oradynaset).fields(i).name
response.write"</td>"
next
response.write "</tr>"
startrow=(page-1)*pagesize+1
endrow=page*pagesize
oradynaset.moveto startrow
for j=startrow to endrow
response.write"<tr>"
for i=0 to session(oradynaset).fields.count - 1
response.write"<td>"
response.write session(oradynaset).fields(i).value
response.write"</td>"
next
response.write"</tr>"
session(oradynaset).dbmovenext
if session(oradynaset).eof then exit for
next
response.write"</table>"
end if
if page>1 then
response.write "<a href='query1.asp?page=1'>第一頁</a> "
response.write "<a href='query1.asp?page=" & page-1 & "'>上一頁</a> "
end if
if cint(page)<pages then
response.write "<a href='query1.asp?page=" & page+1 & "'>下一頁</a> "
response.write "<a href='query1.asp?page=" & pages & "'>最后頁</a> "
end if
set orasession=nothing
%>
<html>
</html>

‘query1.asp
<%
‘設(shè)置頁長
pagesize=15
if session(oradynaset).recordcount=0 then
response.write "無符合條件的數(shù)據(jù)"
else
response.write"<h3>查詢結(jié)果</h3>"
‘計算頁數(shù)
pages=int(session(oradynaset).recordcount/pagesize)
if pages*pagesize=session(oradynaset).recordcount then
pages=int(session(oradynaset).recordcount/pagesize)
else
pages=int(session(oradynaset).recordcount/pagesize)+1
end if
if request("page")="" then
page=1
else
page=cstr(request("page"))
end if
response.write"共"&pages&"頁,目前第"&page&"頁"

response.write"<table border=5><tr>"
for i=0 to session(oradynaset).fields.count - 1
response.write"<td>"
response.write session(oradynaset).fields(i).name
response.write"</td>"
next
response.write "</tr>"
startrow=(page-1)*pagesize+1
endrow=page*pagesize
oradynaset.moveto startrow
for j=startrow to endrow
response.write"<tr>"
for i=0 to session(oradynaset).fields.count - 1
response.write"<td>"
response.write session(oradynaset).fields(i).value
response.write"</td>"
next
response.write"</tr>"
session(oradynaset).dbmovenext
if session(oradynaset).eof then exit for
next
response.write"</table>"
end if
if page>1 then
response.write "<a href='query1.asp?page=1'>第一頁</a> "
response.write "<a href='query1.asp?page=" & page-1 & "'>上一頁</a> "
end if
if cint(page)<pages then
response.write "<a href='query1.asp?page=" & page+1 & "'>下一頁</a> "
response.write "<a href='query1.asp?page=" & pages & "'>最后頁</a> "
end if
set orasession=nothing
%>
<html>
</html>
上述程序在Windows Nt4.0+Iss4.0上通過運行。
由于ORACLE數(shù)據(jù)庫應(yīng)用很廣泛,市場銷售量一直占前幾位,許多企業(yè)的MIS、IT系統(tǒng)都以O(shè)RACLE數(shù)據(jù)庫作為數(shù)據(jù)存儲基礎(chǔ),
將ORACLE數(shù)據(jù)庫的信息加到網(wǎng)頁中,可以大大地豐富網(wǎng)頁發(fā)布的信息,使我們的網(wǎng)頁既能發(fā)布實時、復(fù)雜的數(shù)據(jù)庫信息,
又能接收客戶機對數(shù)據(jù)庫的修改信息。因此使用此方法能提高在Web上訪問ORACLE的效率。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
av亚洲精华国产精华精| 亚洲一区二区三区视频在线| 日产国产高清一区二区三区| 欧美高清一区| 国产欧美日韩在线| 99国产精品久久久久久久久久 | 一区二区视频在线观看| 久久噜噜亚洲综合| 91欧美一区二区| 国产午夜一区二区三区| 成人av电影在线网| 国产精品美女久久久久久久| 国产日韩1区| 日韩成人精品视频| 欧美精品 日韩| 日韩av电影天堂| 床上的激情91.| 国产亚洲欧洲997久久综合 | 国产欧美亚洲一区| 亚洲成av人在线观看| 91黄视频在线| 99在线精品视频| 欧美精品自拍偷拍动漫精品| 欧洲av在线精品| 亚洲精选一二三| 久久美女性网| 国产高清精品网站| 久久蜜桃一区二区| 久久精品天堂| 国产一区二区三区四区五区美女 | 99re这里都是精品| 中文字幕制服丝袜一区二区三区 | 欧美三级电影一区| 欧美日韩亚洲一区三区| 日韩在线卡一卡二| 精品国产乱码久久久久久夜甘婷婷| 国模一区二区三区| 免费高清在线一区| 国产精品初高中害羞小美女文| 色综合久久久久综合体桃花网| 波多野结衣亚洲一区| 日韩av一区二区三区| 一区二区三区四区乱视频| 日韩欧美视频在线| 色综合久久六月婷婷中文字幕| 白白色 亚洲乱淫| 狠狠狠色丁香婷婷综合久久五月| 亚洲美女电影在线| 久久久精品免费观看| 欧美影院一区二区三区| 99成人在线| 欧美日韩天堂| 中文字幕一区三区| 日韩三级伦理片妻子的秘密按摩| 国产日韩在线一区二区三区| 91色乱码一区二区三区| 国产精品一区二区免费不卡| 亚洲国产成人av好男人在线观看| 欧美激情一区二区三区不卡| 久久久久青草大香线综合精品| 欧美一卡二卡在线| 欧美日韩国产精选| 欧美日韩一区二区在线观看 | 国产精品免费人成网站| 久久人人爽人人爽| 日韩一区二区三区电影| 国产精品久久| 欧美网站在线| 在线成人亚洲| 久久青草久久| 欧美午夜免费电影| 日韩一区二区三区免费看| 欧美日韩精品是欧美日韩精品| 欧洲激情一区二区| 欧美日韩一级视频| 日韩一区二区在线播放| 日韩美女视频在线| 久久久99免费| 亚洲摸摸操操av| 日韩av电影天堂| 国产高清在线观看免费不卡| 国产高清在线观看免费不卡| 99re成人精品视频| 欧美私人啪啪vps| 午夜在线播放视频欧美| 久久另类ts人妖一区二区| 欧美亚洲国产一区二区三区va| 欧美高清激情brazzers| 国产日韩亚洲欧美综合| 亚洲精品视频一区二区| 精品在线一区二区| 亚洲欧美综合| 欧美性受xxxx黑人xyx性爽| 日韩女优av电影在线观看| 亚洲综合久久久| 亚洲激情一二三区| 美国十次综合导航| 老司机午夜精品| 国产在线精品一区二区不卡了 | 91麻豆精品国产91久久久资源速度| 亚洲v日本v欧美v久久精品| 国模一区二区三区白浆| 国产精品外国| 欧美日韩中字一区| 久久色.com| 国产精品第一页第二页第三页| 国产亚洲一区二区三区| 久久久国产一区二区三区四区小说| 1区2区3区精品视频| 黄页视频在线91| 国产婷婷精品| 国产三级精品三级| 激情图区综合网| 国产一区免费电影| 欧美一区二区视频在线| 在线亚洲欧美专区二区| 国产三级一区二区| 亚洲一区二区三区自拍| 国产精品综合二区| 欧美精品导航| 精品va天堂亚洲国产| av一区二区三区| 国产亚洲污的网站| 国产精品丝袜xxxxxxx| 日韩欧美自拍偷拍| 精品国产一区二区精华| 五月婷婷欧美视频| 成人国产精品免费观看视频| 亚洲高清在线观看一区| 中文字幕免费不卡在线| 国产精品有限公司| 狠狠色丁香婷婷综合| 亚洲国产精品成人综合色在线婷婷| 激情偷拍久久| 精品综合久久久久久8888| 国产精品久久久一区二区| 亚洲亚洲人成综合网络| 久久高清国产| 久久99精品久久久| ww亚洲ww在线观看国产| 国产成人av影院| 久久奇米777| 国产日韩欧美一区二区| 亚洲黄色免费网站| 欧美少妇一区二区| 欧美影院一区| 亚洲国产综合在线| 国产欧美精品一区二区三区四区 | 欧美一区二区三区视频免费播放| 亚洲激情六月丁香| 日韩一区二区免费看| 欧美激情综合五月色丁香| 一区二区三区国产盗摄| 亚洲黄色尤物视频| 日本高清不卡一区| 99精品久久只有精品| 亚洲国产三级在线| 久久日韩精品一区二区五区| 怡红院精品视频在线观看极品| 欧美激情综合在线| 欧美四级电影在线观看| 欧美ab在线视频| 国内精品视频666| 亚洲小说春色综合另类电影| 欧美大片在线观看一区| 久久这里有精品15一区二区三区| 99久久精品国产网站| 国产一区二区三区精品视频| 国产亚洲成年网址在线观看| 欧美老年两性高潮| 国产亚洲高清视频| 国产精品二区二区三区| 成人久久视频在线观看| 精品伊人久久久久7777人| 亚洲香肠在线观看| 国产精品久久久一本精品| 久久久久青草大香线综合精品| 精品精品国产高清a毛片牛牛| 色婷婷精品大视频在线蜜桃视频| 激情文学综合网| 国产精品无遮挡| 亚洲久久在线| 福利一区在线观看| 国产精品麻豆一区二区| 久久精精品视频| 国语自产精品视频在线看抢先版结局 | 一区二区在线观看免费| 国产精品每日更新| 国产精品人人做人人爽人人添| 久久精品在这里| 中文字幕乱码日本亚洲一区二区| 久久品道一品道久久精品| 亚洲色图另类专区| 国产精品美女久久久久aⅴ| 国产亚洲美州欧州综合国| 黄色亚洲大片免费在线观看| 国产在线精品一区二区不卡了| 首页欧美精品中文字幕| 欧美国产97人人爽人人喊| 日韩免费高清av|