Oracle Object Server包含六個(gè)對象
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括石柱土家族網(wǎng)站建設(shè)、石柱土家族網(wǎng)站制作、石柱土家族網(wǎng)頁制作以及石柱土家族網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,石柱土家族網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到石柱土家族省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
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對象通常被使用在應(yīng)用程序中,管理OraDatabase、Oraconnection、
OraDynaset對象。
Set OraSession=createobject("OracleInProcServer.XOraSession")
3.OraConnection對象表示對OraDatabase對象的連接,當(dāng)你要建立OraDatabase對象時(shí),
系統(tǒng)會自動產(chǎn)生一個(gè)Oraconnection對象。
4.OraDatabase對象
OraDatabase對象表示對數(shù)據(jù)庫服務(wù)器一個(gè)虛擬的登入。
Set OraDatabase=OraSession.DbopenDatabase("數(shù)據(jù)庫別名","用戶名/密碼",0)
5.OraDynaset對象
OraDynaset對象允許用戶瀏覽或更新由 SQL SELECT所返回的數(shù)據(jù)。OraDynaset
必須屬于唯一的OraDatabase對象,因此如果建立一個(gè)OraDynaset對象可以使用Oradatabase
的DbCreateDynaset或CreateDynaset,兩種結(jié)果一樣。
6.OraSQLstmt對象
OraSQLstmt對象是用來運(yùn)行SQL命令、或者是調(diào)用Stored Function、Stored Procedure
通常用OraDatabase對象的CreateSQL方法來建立OraSQLStmt對象。
例如: 調(diào)用SQL命令
Set OraSqlStmt=OraDatabase.CreateSQL("SQL語句",0)
調(diào)用Stored Function
Set OraSQlStmt=OraDatabase.CreateSQL("BeginEmployee.GetEmpName(:EMPON,:Ename);end;",0)
7.OraField對象
OraField對象是表示在OraDynaset對象中的某一行(row)中的一個(gè)字段(column)或者數(shù)據(jù)項(xiàng)目(data item),
另一個(gè)角度,OraField對象間接從OraDynaset對象的OraFields的數(shù)據(jù)集合取得其中一個(gè)字段的數(shù)據(jù),其數(shù)據(jù)類型通常為萬
能變量(Variant)
設(shè)置
OraFields.value=值
付值
變量名稱=Orafields.value
其Fields集合表示如下:
Orafields("名稱").value
Orafields(i).value
8.OraParameter對象
OraParameter對象是表示一個(gè)在SQL命令或PL/SQL程序中附加的變量。OraParameter對象間接通過 OraDatabase對象
的OraParameters數(shù)據(jù)集合來嗇、刪除或存儲的
例子加以說明:
定義常數(shù)--I/O類型
ORAPARA_INPUT=1
ORAPARM_OUTPUT=2
定義常數(shù)--變量類型(Server Type)
ORATYPE_VARCHAR2=1
ORATYPE_NUMBER=2
增加一個(gè)名稱為InputValue的變量,將其初值設(shè)為7749,且此變量的I/O類型設(shè)為"輸入"類型及變量類型設(shè)為"整數(shù)"。
OraDatabase.Parameters.Add "InputValue",7749,ORAPARA_INPUT
OraDatabase.Parameters("Return value").ServerType=ORATYPE_VARCHAR2
調(diào)用Stored Function
OraDatabase.DbExecuteSQL("Begin : Return value: =GetEmpName(Inputvaalue);end;)
取得參數(shù)值
response.write OraDatabases("Return value").value
刪除參數(shù)
OraDatabase.Parameters.remove "Inputvalue"
OraDatabase.parameters.remove "Return Value"
9.OraParameterArray對象
OraParameterArray對象可以視為OraParameter對象的數(shù)組(Array)類型,OraParameterArray對象可以間接通過
OraDatabase對象的OraParameters數(shù)據(jù)來增加、刪除、存取
看了你的提問,我想說一下:
asp連接數(shù)據(jù)庫oracle
1、利用ODBC,性能不是很穩(wěn)定。
2、利用ADO,有兩個(gè)驅(qū)動,一個(gè)是microsoft提供的,一個(gè)是oracle提供的。各有優(yōu)缺點(diǎn)。
3、利用oracle專門給asp的驅(qū)動,性能最穩(wěn)定,速度最快。我一直用這個(gè)。
%
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
遠(yuǎn)程連接客戶那邊的數(shù)據(jù)庫?數(shù)據(jù)庫不在本地唄。
你是要直接用IP連么?不建議這樣做。如果我是客戶,我應(yīng)該不會讓你直接用外網(wǎng)IP遠(yuǎn)程連我的庫。你需要通過webService調(diào)用。
訪問數(shù)據(jù)庫,和一般寫法是一樣的,在知道ID和PSWD的前提下,只需要更改連接驅(qū)動和驅(qū)動聲明就可以訪問數(shù)據(jù)庫
1、連入SQL*Plus
以system/manager用戶登錄,
SQL conn system/manager
創(chuàng)建新的用戶:如user1/pass1,賦予connect,resource權(quán)限。
SQL grant connect,resource to user1 identified by pass1;
SQL conn user1/pass1
SQL create table test(a date);
Oracle數(shù)據(jù)庫的實(shí)例名,本例:oradb
Oracle用戶名,本例:user1
Oracle主機(jī)字符串:oradb
tnsnames.ora文件中
ORADB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)
2、在IIS默認(rèn)WWW目錄下創(chuàng)建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連接數(shù)據(jù)庫oracle
1、利用ODBC,性能不是很穩(wěn)定。
2、利用ADO,有兩個(gè)驅(qū)動,一個(gè)是microsoft提供的,一個(gè)是oracle提供的。各有優(yōu)缺點(diǎn)。
3、利用oracle專門給asp的驅(qū)動,性能最穩(wěn)定,速度最快。我一直用這個(gè)。
%
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