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数据来增加、删除、存取
看了你的提问,我想说一下:
asp连接数据库oracle
1、利用ODBC,性能不是很稳定。
2、利用ADO,有两个驱动,一个是microsoft提供的,一个是oracle提供的。各有优缺点。
3、利用oracle专门给asp的驱动,性能最稳定,速度最快。我一直用这个。
%
set Conn=server.CreateObject("adodb.connection")
'Conn.open "dsn=mmaximo;uid=user;pwd=pwd"
Conn.open "maximo","user","pwd"
'dns="Driver={Microsoft ODBC for Oracle};UID=user;PWD=pwd;server=10.128.64.7"
'Conn.open dns
'dns="Provider=MSDAORA.1;Password=pwd;User ID=user;Data Source=thpmis;Persist Security Info=True"
'dns="Provider=OraOLEDB.Oracle.1;Password=pwd;User ID=user;Data Source=thpmis;Persist Security Info=True"
'Conn.open dns
'set OraSession=Server.CreateObject("OracleInprocServer.XOraSession")
'set OraDatabase=OraSession.OpenDatabase("maximo","user/pwd",0)
'set ors=OraDatabase.CreateDynaset("select * from workorder",0)
'response.write "总共有" ors.recordcount "记录"
'on error resume next
'connstr="dsn=mmaximo;uid=user;pwd=pwd"
'Conn.open connstr
%
---------------------------------------------------------------
方法二:Dim objConn,myDSN
If Not IsObject(objConn) Then
Set objConn = Server.CreateObject("ADODB.Connection")
myDSN = "Provider=OraOLEDB.Oracle;Data Source=Oracle_Shanghai;User ID=scott;PASSWORD=tiger;Persist Security Info=True"
objConn.Open myDSN
End If
远程连接客户那边的数据库?数据库不在本地呗。
你是要直接用IP连么?不建议这样做。如果我是客户,我应该不会让你直接用外网IP远程连我的库。你需要通过webService调用。
访问数据库,和一般写法是一样的,在知道ID和PSWD的前提下,只需要更改连接驱动和驱动声明就可以访问数据库
1、连入SQL*Plus
以system/manager用户登录,
SQL conn system/manager
创建新的用户:如user1/pass1,赋予connect,resource权限。
SQL grant connect,resource to user1 identified by pass1;
SQL conn user1/pass1
SQL create table test(a date);
Oracle数据库的实例名,本例:oradb
Oracle用户名,本例:user1
Oracle主机字符串:oradb
tnsnames.ora文件中
ORADB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)
2、在IIS默认WWW目录下创建test.asp,用notebook编辑,输入以下代码
%
set conn=server.createobject("adodb.connection")
dns="Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=user1;Password=pass1;Data Source=oradb"
conn.Open dns
SQL="insert into test(a) values(sysdate)"
set rs=conn.execute(SQL)
set rs=nothing
conn.close
set conn=nothing
%
%
set conn=server.createobject("adodb.connection")
dns="Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=user1;Password=pass1;Data Source=oradb"
conn.Open dns
SQL="select to_char(a,'hh24:mi:ss') from test"
set rs=conn.execute(SQL)
do while (not rs.eof)
%
table border=1
trtd%=rs.fields(0).value%/font/td
/tr
%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%
asp连接数据库oracle
1、利用ODBC,性能不是很稳定。
2、利用ADO,有两个驱动,一个是microsoft提供的,一个是oracle提供的。各有优缺点。
3、利用oracle专门给asp的驱动,性能最稳定,速度最快。我一直用这个。
%
set Conn=server.CreateObject("adodb.connection")
'Conn.open "dsn=mmaximo;uid=user;pwd=pwd"
Conn.open "maximo","user","pwd"
'dns="Driver={Microsoft ODBC for Oracle};UID=user;PWD=pwd;server=10.128.64.7"
'Conn.open dns
'dns="Provider=MSDAORA.1;Password=pwd;User ID=user;Data Source=thpmis;Persist Security Info=True"
'dns="Provider=OraOLEDB.Oracle.1;Password=pwd;User ID=user;Data Source=thpmis;Persist Security Info=True"
'Conn.open dns
'set OraSession=Server.CreateObject("OracleInprocServer.XOraSession")
'set OraDatabase=OraSession.OpenDatabase("maximo","user/pwd",0)
'set ors=OraDatabase.CreateDynaset("select * from workorder",0)
'response.write "总共有" ors.recordcount "记录"
'on error resume next
'connstr="dsn=mmaximo;uid=user;pwd=pwd"
'Conn.open connstr
%
---------------------------------------------------------------
方法二:Dim objConn,myDSN
If Not IsObject(objConn) Then
Set objConn = Server.CreateObject("ADODB.Connection")
myDSN = "Provider=OraOLEDB.Oracle;Data Source=Oracle_Shanghai;User ID=scott;PASSWORD=tiger;Persist Security Info=True"
objConn.Open myDSN
End If