|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP脚本是采用明文(plaintext)方式来编写的。oracle|数据|数据库ASP(ActiveServerPages)是微软公司为开辟互联网使用程序所提出的工具之一,ASP与数据库的连接一样平常经由过程ADO(ActivexDataObject)来完成的,就象《盘算机天下》2000年3月20日的《用ASP对SQLServer数据库操纵》文章先容的一样,ADO能够完整撑持MicrosoftSQLServer,但对使用加倍普遍、机制加倍庞大的ORACLE数据库服务就有一些坚苦,假如想作一些复杂的查询功效,ADO是充足的,如要想更好地发扬ORACLE数据库独有的功效,如STOREDPROCEDURE,STOREDFUNCTION等就要接纳使用ASP存取ORACLE数据库服务的另外一个强无力工具---OracleObjectforOLE中的ORACLE工具服务器(TheOracleObjectServer)。本文从一个实例申明怎样在ASP中利用ORACLE工具服务器供应的控件来完成对ORACLE数据库的存取,并就怎样保护收集数据库的完全性束缚成绩举行一些会商。
----OracleObjectforOLE是ORACLE公司为了客户端存取数据库所开展的一个很必要的产物,它以Windows95/98/NT为基本供一切的与OLE兼容的使用程序与程序言语存取ORACLE数据库,如ASP、VisualBasicexcess97等,OracleObjectforOLE包括了ORACLE工具服务器(TheOracleObjectServer)、ORCLE数据把持项(TheOracleDataControl)与ORACLE工具类程序库(TheOracleObjectsforOLEC++ClassLibrary)等三项产物。
----与ADO比拟,ORACLE工具服务器是公用于ORACLE数据库使用程序开辟的产物,它有以下长处:
----(1)与数据库服务器的毗连的运转效力好。由于ADO是经由过程ODBC来毗连数据库服务器的,而ORACLE工具服务器是经由过程ORACLE的SQL*NET来毗连数据库服务器的
----(2)能更好地发扬ORACLE数据库的特有功效。如STOREDPROCEDURE,STOREDFUNCTION、PACKAGE或MultipleCursor。
----本例是一个通信录的查询、录进的小程序,用户能够经由过程扫瞄器对通信录表举行查询,也可把本人的信息输出,供他人查询。
----通信录表的布局以下:
NameNull?Type
-------------------------------------------
NAMENOTNULLCHAR(8)
ADDRESSCHAR(20)
PHONECHAR(20)
EMAILVARCHAR2(30)
----起首:举行情况设置:
----在WEB服务器上安装以下软件并举行设置:
----(1)基础的WEB服务器(WEBSERVER)与ASP等软件
----(2)OracleObjectforOLE2.x
----(3)SQL*NetClient或OracleNet8Client8,安装以后,用Sql*NetEasyConfiguration创建数据库别号(DatabaseAlias),为ASP毗连到数据库所用的别号。
----二.功效完成
----(1)查询:用ASP取数据库通信录表(TSB1)的数据,将数据显现在屏幕上。查询的关头在于断定与数据库的毗连乐成与否,ORACLE工具服务器自己有毛病把持机制能够报出数据库毗连方面的毛病,详细的程序以下:
<HTML>
<tile>查询程序</title>
<BODY>
<%
onerrorresumenext
毗连数据库
setorasession=createobject
("OracleInprocServer.XOraSession")
setoradatabase=orasession.
dbopendatabase("axp03","scott/tiger",0)
堕落处置
iferr.number>0then
response.write"<h4>asp毛病把持</h4>"
response.write"asp毛病来历:"&err.source&"<br>"
response.write"asp毛病代码:"&err.number&"<br>"
response.write"asp毛病申明:"&err.description&"<br>"
err.clear
response.write"<h4>ORACLEOLE毛病把持</h4>"
response.write"ORACLE毛病代码:
"&OraSession.LastServerErr&"<br>"
response.write"ORACLE毛病申明:
"&OraSession.LastServerErrText&"<br>"
else
查询
sql="select*fromtsb1"
setoradynaset=oradatabase.dbcreatedynaset(sql,0)
response.write"<h3>result</h3>"
response.write"<tableborder=5><tr>"
fori=0tooradynaset.fields.count-1
response.write"<td>"
response.writeoradynaset.fields(i).name&""
response.write"</td>"
next
response.write"</tr>"
dountiloradynaset.eof
response.write"<tr>"
fori=0tooradynaset.fields.count-1
response.write"<td>"
response.writeoradynaset.fields(i).value
response.write"</td>"
next
response.write"</tr>"
oradynaset.dbmovenext
loop
response.write"</table&</p>大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧 |
|