资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
精品资料推荐如何在ASP中访问Oracle?我一直使用Oracle数据库,现在需要在Web上对Oracle8数据库进行访问,可我发现,在ASP中,ADO对Oracle的访问并不顺利,不但速度慢,而且还不能访问Oracle8的数字型字段(!)请问有什么办法可以实现对它们的顺利访问?我们可以利用OracleObjectforOLE所包含的OracleObjectsServer来实现在ASP中对Oracle8的访问。OracleObjectsServer共提供Oraclient、Orasession、Oraconnection、OraDatabaseOraDynaset、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.write精彩春风之查询结果pages=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.writefori=0tosession(oradynaset).fields.count-1response.writeresponse.writesession(oradynaset).fields(i).nameresponse.writenextresponse.writestartrow=(page-1)*pagesize+1endrow=page*pagesizeoradynaset.movetostartrowforj=startrowtoendrowresponse.writefori=0tosession(oradynaset).fields.count-1response.writeresponse.writesession(oradynaset).fields(i).valueresponse.writenextresponse.writesession(oradynaset).dbmovenextifsession(oradynaset).eofthenexitfornextresponse.writeendififpage1thenresponse.write第一页response.write上一页endififcint(page)pagesthenresponse.write下一页response.write最后页endifsetorasession=nothing%chunfeng01.asp%pagesize=15设置页长ifsession(oradynaset).recordcount=0thenresponse.write对不起,没有找到符合条件的数据!elseresponse.write精彩春风之查询结果pages=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.writefori=0tosession(oradynaset).fields.count-1response.writeresponse.writesession(oradynaset).fields(i).nameresponse.writenextresponse.writestartrow=(page-1)*pagesize+1endrow=page*pagesizeoradynaset.movetostartrowforj=startrowtoendrowresponse.writefori=0tosession(oradynaset).fields.count-1response.writeresponse.writesession(oradynaset).fields(i).valueresponse.writenextresponse.writesession(oradynaset).dbmovenextifsession(oradynaset).eofthenexitfornextresponse.writeendififpage1thenresponse.write第一页response.write上一页endififcint(page)pagesthenresponse.write下一页response.write最后页endifsetorasession=nothing%OracleObjectsServer提供的九个对象的功能与作用分述如下:序号对象名称作用1Oraclient对象用来te义服务器端(Client或Workstation)的范围,Oraclient会记录此服务器端的所有Orasession对象。由系统根据需要自动建立。2Orasession对象用来在程序中管理Oraconnection、OraDatabase、OraDynaset等对象,其建立方法为:SetOrasession=Create(OracleInProcServer.Xorasession)3Oraconnection对象表示对OraDatabase对象的连接,当需要建立.OraDatabase对象时,系统会自动广匕-个Oraconnection对象。反之,当与数据库断开连接时,Oraconnection对象自动释放。4OraDatabase对象表示对数据库服务器的虚拟登录,其登录方法为:SetOradadabase=Orasession.Dbopendatabase_(数据库另U名”,“用户名称/密码”,0)5OraDynaset对象将数据库服务器符合SELECT命令的数据加以存储在客户端的缓冲区,让用户浏览或更新,最后将结果写回到服务器,其方法:SetOraDynaset=OraDatabase.DbcreateDynaset(SQL语句”,0)6OraSQLstmt对象通常用来运行SQL命令,或调用存储过程,其用法为:SetOrasqlstmt=Oradatabase.createSQl(SQL语句”,0)7OraField对象表示在OraDynaset对象中的某个子段或数据项目,它通过Value属性设置或取得OraDynaset对象中的某个字段值。8Oraparameter对象表示一个在SQL命令或PL/SQL程序区块中所附加的变量。9OraparameterArray对象是Oraparameter对象的数组类型。它可以间接通过OraDatabase对象的Oraparameter数据集合来增加、存取或删除某个变量。4
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号