您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 如何在ASP中访问Oracle
http://www.woxia.net路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网如何在ASP中访问Oracle?我一直使用Oracle数据库,现在需要在Web上对Oracle8数据库进行访问,可我发现,在ASP中,ADO对Oracle的访问并不顺利,不但速度慢,而且还不能访问Oracle8的数字型字段(!)请问有什么办法可以实现对它们的顺利访问?我们可以利用OracleObjectforOLE所包含的OracleObjectsServer来实现在ASP中对Oracle8的访问。OracleObjectsServer共提供Oraclient、Orasession、Oraconnection、OraDatabase、OraDynaset、OraSQLstmt、OraField、Oraparameter、OraparameterArray等九个对象供开发者使用。OracleObjectforOLE是Oracle公司为客户端访问数据库开发的一个软件,运行在Windows95/98/NT平台。在用OracleObjectsServer访问Oracle8数据库之前,我们必须在Web服务器上安装OracleObjectforOLE,然后利用SQL+NetClient2.X或OracleNet8Client8.X进行数据库的连接测试并设置数据库别名。下面举一个在ASP中利用OracleObjectforOLE2.3查询Oracle8.0.5数据库,并进行分页显示的程序范例。需要说明,由于Orasession对象的属性中没有控制分页的属性,本例同时使用了一个分页控制的程序,chunfeng.asp文件先取得数据库表的内容,然后计算分页的页数,如果页数超过一页,则交由chunfeng01.asp处理。具体代码如下:chunfeng.asp%setorasession=createobject(oracleinprocserver.xorasession)setoradatabase=orasession.dbopendatabase(orant,scotter/tiger,0)'连接数据库sql=select*fromcq_hjwjsetsession(oradynaset)=oradatabase.dbcreatedynaset(sql,0)'设置查询条件pagesize=15'设置页长ifsession(oradynaset).recordcount=0thenresponse.write对不起,没有找到符合条件的数据!elseresponse.writeh3精彩春风之查询结果/h3pages=int(session(oradynaset).recordcount/pagesize)ifpages*pagesize=session(oradynaset).recordcountthenpages=int(session(oradynaset).recordcount/pagesize)'计算页数elsepages=int(session(oradynaset).recordcount/pagesize)+1endififrequest(page)=thenhttp://www.woxia.net路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网page=1elsepage=cstr(request(page))endifresponse.write共&pages&页,目前第&page&页response.writetableborder=5trfori=0tosession(oradynaset).fields.count-1response.writetdresponse.writesession(oradynaset).fields(i).nameresponse.write/tdnextresponse.write/trstartrow=(page-1)*pagesize+1endrow=page*pagesizeoradynaset.movetostartrowforj=startrowtoendrowresponse.writetrfori=0tosession(oradynaset).fields.count-1response.writetdresponse.writesession(oradynaset).fields(i).valueresponse.write/tdnextresponse.write/trsession(oradynaset).dbmovenextifsession(oradynaset).eofthenexitfornextresponse.write/tableendififpage1thenresponse.writeahref='chunfeng01.asp?page=1'第一页/aresponse.writeahref='chunfeng01.asp?page=&page-1&'上一页/aendififcint(page)pagesthenresponse.writeahref='chunfeng01.asp?page=&page+1&'下一页/aresponse.writeahref='chunfeng01.asp?page=&pages&'最后页/aendifsetorasession=nothing%html/htmlhttp://www.woxia.net路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网chunfeng01.asp%pagesize=15'设置页长ifsession(oradynaset).recordcount=0thenresponse.write对不起,没有找到符合条件的数据!elseresponse.writeh3精彩春风之查询结果/h3pages=int(session(oradynaset).recordcount/pagesize)ifpages*pagesize=session(oradynaset).recordcountthenpages=int(session(oradynaset).recordcount/pagesize)'计算页数elsepages=int(session(oradynaset).recordcount/pagesize)+1endififrequest(page)=thenpage=1elsepage=cstr(request(page))endifresponse.write共&pages&页,目前第&page&页response.writetableborder=5trfori=0tosession(oradynaset).fields.count-1response.writetdresponse.writesession(oradynaset).fields(i).nameresponse.write/tdnextresponse.write/trstartrow=(page-1)*pagesize+1endrow=page*pagesizeoradynaset.movetostartrowforj=startrowtoendrowresponse.writetrfori=0tosession(oradynaset).fields.count-1response.writetdresponse.writesession(oradynaset).fields(i).valueresponse.write/tdnexthttp://www.woxia.net路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网response.write/trsession(oradynaset).dbmovenextifsession(oradynaset).eofthenexitfornextresponse.write/tableendififpage1thenresponse.writeahref='chunfeng01.asp?page=1'第一页/aresponse.writeahref='chunfeng01.asp?page=&page-1&'上一页/aendififcint(page)pagesthenresponse.writeahref='chunfeng01.asp?page=&page+1&'下一页/aresponse.writeahref='chunfeng01.asp?page=&pages&'最后页/aendifsetorasession=nothing%html/htmlOracleObjectsServer提供的九个对象的功能与作用分述如下:序号对象名称作用1Oraclient对象用来定义服务器端(Client或Workstation)的范围,Oraclient会记录此服务器端的所有Orasession对象。由系统根据需要自动建立。2Orasession对象用来在程序中管理Oraconnection、OraDatabase、OraDynaset等对象,其建立方法为:SetOrasession=Create(“OracleInProcServer.Xorasession”)3Oraconnection对象表示对OraDatabase对象的连接,当需要建立OraDatabase对象时,系统会自动产生一个Oraconnection对象。反之,当与数据库断开连接时,Oraconnection对象自动释放。4OraDatabase对象表示对数据库服务器的虚拟登录,其登录方法为:SetOradadabase=Orasession.Dbopendatabase_(“数据库别名”,“用户名称/密码”,0)5OraDynaset对象将数据库服务器符合SELECT命令的数据加以存储在客户端的缓冲区,让用户浏览或更新,最后将结果写回到服务器,其方法:SetOraDynaset=OraDatabase.DbcreateDynaset(“SQL语句”,0)6OraSQLstmt对象通常用来运行SQL命令,或调用存储过程,其用法为:SetOrasqlstmt=Oradatabase.createSQl(“SQL语句”,0)7OraField对象表示在OraDynaset对象中的某个字段或数据项目,它通过Value属性设置或取得OraDynaset对象中的某个字段值。8Oraparameter对表示一个在SQL命令或PL/SQL程序区块中所附加的变量。http://www.woxia.net路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网象9OraparameterArray对象是Oraparameter对象的数组类型。它可以间接通过OraDatabase对象的Oraparameter数据集合来增加、存取或删除某个变量。
本文标题:如何在ASP中访问Oracle
链接地址:https://www.777doc.com/doc-13911 .html