ASP通过Oracle Object for OLE对Oracle查询

数据库 Oracle
ASP可以使用ADO组件对Oracle进行简单的数据库操作,但要发挥ORACLE数据库特有的功能,如STORED PROCEDURE,STORED FUNCTION等就要采取利用ASP存取ORACLE 数据库服务的另一个强有力工具——Oracle Object for OLE中的ORACLE对象服务器(The Oracle Object Server)。

Oracle Object for OLE是ORACLE公司为了客户端存取数据库所发展的一个很需要的产品,它以Windows 95/98/NT 为基础供所有的与OLE 兼容的应用程序与程序语言存取ORACLE数据库,如ASP、Visual Basic 等 ,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。

本例是一个通讯录的查询、录入的小程序,用户可以通过浏览器对通讯录表进行查询,也可把自己的信息输入,供别人查询。

通讯录表的结构如下:

  1. NAME NOT NULL CHAR(8)  
  2.  
  3. ADDRESS CHAR(20)  
  4.  
  5. PHONE CHAR(20)  
  6.  
  7. 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连接到数据库所用的别名。

查询:用ASP 取数据库通讯录表(TSB1)的数据,将数据显示在屏幕上。查询的关键在于确定与数据库的连接成功与否,ORACLE对象服务器本身有错误控制机制可以报出数据库连接方面的错误,具体的程序如下:

  1. < html> 
  2.  
  3. < tile > 查询程序 < /title > 
  4.  
  5. < body> 
  6.  
  7. < %  
  8.  
  9. on error resume next  
  10.  
  11. ’连接数据库  
  12.  
  13. set orasession=createobject 
  14.  
  15. ("OracleInprocServer.XOraSession")  
  16.  
  17. set oradatabase=orasession.  
  18.  
  19. dbopendatabase("axp03","scott/tiger",0)  
  20.  
  21. ’出错处理  
  22.  
  23. if err.number >0 then  
  24.  
  25. response.write"< h4 >asp 错误控制 < /h4 >"  
  26.  
  27. response.write"asp 错误来源:"&err.source &"< br >"  
  28.  
  29. response.write"asp 错误代码:"&err.number&"< br >"  
  30.  
  31. response.write"asp 错误说明:"&err.description&"< br >"  
  32.  
  33. err.clear  
  34.  
  35. response.write"< h4 >ORACLE OLE 错误控制< /h4 >"  
  36.  
  37. response.write"ORACLE 错误代码:  
  38.  
  39. "&OraSession.LastServerErr&"< br >"  
  40.  
  41. response.write"ORACLE 错误说明:  
  42.  
  43. "&OraSession.LastServerErrText&"< br >"  
  44.  
  45. else  
  46.  
  47. ’查询  
  48.  
  49. sql="select * from tsb1" 
  50.  
  51. set oradynaset=oradatabase.dbcreatedynaset(sql,0)  
  52.  
  53. response.write"< h3 >result< /h3 >"  
  54.  
  55. response.write"< table border=5 >< tr >"  
  56.  
  57. for i=0 to oradynaset.fields.count-1  
  58.  
  59. response.write"< td >"  
  60.  
  61. response.write oradynaset.fields(i).name & " "  
  62.  
  63. response.write"< /td >"  
  64.  
  65. next  
  66.  
  67. %> 
  68.  
  69. </body> 
  70.  
  71. </html> 

 将上面的文件保存为.asp的格式,然后再IIS上运行,即可在浏览器中看到输出结果。

【编辑推荐】

  1. 误删Oracle数据库实例的控制文件
  2. ORACLE数据库常见问题诊断方法
  3. 浅述SQL Server的Replication技术创建技巧
  4. Oracle献媚开源数据库 MySQL分支情绪稳定
责任编辑:赵鹏 来源: 帮考网
相关推荐

2010-04-12 16:24:15

Oracle表查询

2010-06-03 09:24:46

Oracle

2010-10-26 17:17:37

创建ORACLE索引

2010-10-28 16:42:04

oracle多表查询

2010-04-26 10:24:12

Oracle ASM

2010-04-26 10:01:45

Oracle认证

2010-04-15 17:31:10

Oracle存储过程

2010-11-19 11:22:25

oracle对系统文件

2010-10-27 16:14:24

Oracle参数查询命

2010-10-27 17:00:32

oracle树查询

2010-10-27 10:11:07

Oracle分页查询

2010-10-29 16:41:12

Oracle模糊查询

2010-04-20 17:07:46

Oracle 性能

2010-05-04 18:14:50

Oracle 性能工具

2009-12-21 10:01:05

Oracle技术

2017-04-07 13:30:54

2011-01-26 11:09:07

2010-04-30 16:58:14

Oracle Raw

2010-05-07 16:21:08

Oracle Raw类

2010-04-23 16:35:02

Oracle 查询记录
点赞
收藏

51CTO技术栈公众号