大家看看如何用asp操作Oracle数据库吧(一)

Oracle Object Server包含六个对象

1.OraClient
2.OreSession
3.OraConnection
4.OraDatabase
5.OraDynaset
6.OraSQLstmt
7.OraField
8.OraParameter
9.OraParameterArray


1.Oraclient对象
OraClient对象记录所有的OraSession对象

2.OraSession
OraSession对象通常被使用在应用程序中,管理OraDatabase、Oraconnection、
OraDynaset对象。
Set OraSession=createobject("OracleInProcServer.XOraSession")

3.OraConnection对象表示对OraDatabase对象的连接,当你要建立OraDatabase对象时,
系统会自动产生一个Oraconnection对象。

4.OraDatabase对象
OraDatabase对象表示对数据库服务器一个虚拟的登入。
Set OraDatabase=OraSession.DbopenDatabase("数据库别名","用户名/密码",0)

5.OraDynaset对象
OraDynaset对象允许用户浏览或更新由 SQL SELECT所返回的数据。OraDynaset
必须属于唯一的OraDatabase对象,因此如果建立一个OraDynaset对象可以使用Oradatabase
的DbCreateDynaset或CreateDynaset,两种结果一样。

6.OraSQLstmt对象
OraSQLstmt对象是用来运行SQL命令、或者是调用Stored Function、Stored Procedure
通常用OraDatabase对象的CreateSQL方法来建立OraSQLStmt对象。
例如: '调用SQL命令
Set OraSqlStmt=OraDatabase.CreateSQL("SQL语句",0)
'调用Stored Function
Set OraSQlStmt=OraDatabase.CreateSQL("BeginEmployee.GetEmpName(:EMPON,:Ename);end;",0)

7.OraField对象
OraField对象是表示在OraDynaset对象中的某一行(row)中的一个字段(column)或者数据项目(data item),
另一个角度,OraField对象间接从OraDynaset对象的OraFields的数据集合取得其中一个字段的数据,其数据类型通常为万
能变量(Variant)
'设置
OraFields.value=值
'付值
变量名称=Orafields.value

其Fields集合表示如下:
Orafields("名称").value
Orafields(i).value


8.OraParameter对象
OraParameter对象是表示一个在SQL命令或PL/SQL程序中附加的变量。OraParameter对象间接通过 OraDatabase对象
的OraParameters数据集合来啬、删除或存储的
例子加以说明:


'定义常数--I/O类型
ORAPARA_INPUT=1
ORAPARM_OUTPUT=2
'定义常数--变量类型(Server Type)
ORATYPE_VARCHAR2=1
ORATYPE_NUMBER=2

'增加一个名称为InputValue的变量,将其初值设为7749,且此变量的I/O类型设为"输入"类型及变量类型设为"整数"。
OraDatabase.Parameters.Add "InputValue",7749,ORAPARA_INPUT
OraDatabase.Parameters("Return value").ServerType=ORATYPE_VARCHAR2

'调用Stored Function
OraDatabase.DbExecuteSQL("Begin : Return value: =GetEmpName(Inputvaalue);end;)

'取得参数值
response.write OraDatabases("Return value").value

'删除参数
OraDatabase.Parameters.remove "Inputvalue"
OraDatabase.parameters.remove "Return Value"

9.OraParameterArray对象
OraParameterArray对象可以视为OraParameter对象的数组(Array)类型,OraParameterArray对象可以间接通过
OraDatabase对象的OraParameters数据来增加、删除、存取