大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 操作系统 -> Web服务器 -> 用Object for OLE访问Oracle

用Object for OLE访问Oracle

时间: 2021-07-31 作者:daque

asp内置的ado组件是微软公司开拓的互联搜集数据仓库储存取处置计划,也是asp存取数据库的要害元勋,ado经过odbc考察数据库,从表面上讲ado能考察百般odbc所扶助的数据库,如microsoft sql server,access,foxpro,oracle,dbase等,但是在试验中咱们创造ado不妨实足扶助microsoft sql server和acess,但是对于oracle就有些艰巨了,笔者在试验中运用ado考察oracle8,截止创造ado不许考察oracle8的数字型字段,而且创造ado考察oracle8的速率极慢。 为领会决运用asp考察oracle8的速率及其余本领题目,笔者试验了运用oracle object for ole考察oracle8,截止实足博得了笔者预期的截止。 oracle object for ole是oracle公司为了存户端存取数据库所兴盛的一个要害的产物,它以windows95/98/nt为普通,共一切与ole兼容的运用步调考察oracle数据库。它是没有效户界面包车型的士ole server,其所包括的oracle objects server是asp考察oracle数据库的要害元勋之一。 要经过oracle objects server来考察oracle8数据库,除去基础的web效劳器与asp等软硬件外,还必需决定web效劳器仍旧安置了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效劳器已安置上述软硬件后,还必需运用sql*net client2.x或oracle net8 client8.x举行数据库的贯穿尝试并树立数据库别号(database alias)。 oracle objects server共供给oraclient、orasession、oraconnection、oradatabase、oradynaset、orasqlstmt、orafield、oraparameter、oraparameter array等九个东西供开拓者运用。其功效与效率分述如次: 1.oraclient东西  oraclient东西是用来设置效劳器端(client或workstation)的范畴,oraclient会记载此效劳器端的一切 orasession东西。oraclient由体例按照须要机动创造。 2.orasession东西  orasession东西用来在步调中处置oraconnection、oradatabase、oradynaset等东西,其创造本领如次:  set orasession=create(“oracleinprocserver.xorasession”)  3.oraconnection东西  oraconnection东西表白对oradatabase东西的贯穿,当须要创造oradatabase东西时,体例会机动爆发一个 oraconnection东西。反之,当与数据库割断贯穿时,oraconnection东西机动开释。 4.oradatabase东西  oradatabase东西表白对数据库效劳器的假造登录,其登录本领如次:  set oradadabase=orasession.dbopendatabase (“数据库别号”, “用户称呼/暗号”,0)  5.oradynaset东西 oradynaset东西会将数据库效劳器适合select吩咐的数据加以保存在存户端的缓冲区,让用户欣赏或革新,结果将截止写回到效劳器,其本领如次: setoradynaset=oradatabase.dbcreatedynaset(“sql语句”,0) 6.orasqlstmt东西 orasqlstmt东西常常用来运转sql吩咐、或是挪用保存进程,其用法如次:   set orasqlstmt=oradatabase.createsql(“sql语句”,0)  7.orafield东西 orafield东西表白在oradynaset东西中的某个字段或数据名目,他经过value属性树立或博得oradynaset东西中的某个字段值。 8.oraparameter东西 oraparameter东西表白一个在sql吩咐或pl/sql步调区块中所附加的变量。 9.oraparameter array东西 oraparameter array东西是oraparameter东西的数组典型,oraparameter array东西不妨转弯抹角经过oradatabase东西的oraparameter数据汇合来减少、存取或简略某个变量。   底下举一简直例子证明怎样在asp中运用oracle object for ole考察oracle 8。 笔者编写了一个在asp中运用oracle object for ole2.3查问oracle 8.0.5数据库,并举行分页表露的步调。因为orasession东西的属性中没有遏制分页的属性,应此笔者自编了分页遏制的步调。 以次共两个asp文献(query.asp和query1.asp),query.asp文献先博得数据库表的实质,而后计划分页的页数,即使页数胜过一页,则交由query1.asp处置,其步调代码如次 "query.asp   <% ‘贯穿数据库 set orasession=createobject("oracleinprocserver.xorasession") set oradatabase=orasession.dbopendatabase("orant","scotter/tiger",0) ‘树立查问前提 sql="select * from cq_hjwj " set session(oradynaset)=oradatabase.dbcreatedynaset(sql,0) ‘树立页长 pagesize=15 if session(oradynaset).recordcount=0 then response.write "无适合前提的数据" else response.write"<h3>查问截止</h3>" ‘计划页数 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 <% ‘树立页长 pagesize=15 if session(oradynaset).recordcount=0 then response.write "无适合前提的数据" else response.write"<h3>查问截止</h3>" ‘计划页数 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数据库运用很普遍,商场出卖量从来占前几位,很多企业的mis、it体例都以oracle数据库动作数据保存普通,将oracle数据库的消息加到网页中,不妨大地面充分网页颁布的消息,使咱们的网页既能颁布及时、搀杂的数据库消息,又能接受存户机对数据库的窜改消息。所以运用此本领能普及在web上考察oracle的功效。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.