A.这样 写即可转化到9I下,只要使用标准sql 语句 Set OraSession=CreateObject("OracleinProcServer.XoraSession") Set OraDatabase=OraSession.DbOpenDatabase("investsw","hooyke/123",0)sql="select * from r_basic where id=" & request.form("id") set Oradynaset=OraDatabase.DbCreateDynaset(sql,0)B.缺少对象看是否Request("Database"),Request("Name")&"/"&Request("Password") 这几个数值是否传送过来?
另一种方法,比较通用dim objConnection set objConnection=server.CreateObject("ADODB.Connection") constr="Provider=MSDAORA;Data Source=linkstr;User ID=username; Password=userpassword;" objConnection.open constr if err then err.clear echoerr("打开数据库失败!<br>可能因配置错误或驱动程序版本太低!") response.end end if linkstr为连接数据库的连接串
以下链接方式是用的ORACLE的专用对像链接方式,移值性不高,但效率挺高的ORACLE专用ODBC 下载http://otn.oracle.com/software/content.html 需注册default.asp-----------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>资料库连结</title>
</head><body>
<h3 align="left">资料库连结测试</h3><form method="POST" action="connection.asp">
<p>资料库名称:<input type="text" name="Database" size="20"></p>
<p>使用者名称:<input type="text" name="Name" size="20"></p>
<p>使用者密码:<input type="password" name="Password" size="20"></p>
<p><input type="submit" value="确定"> <input type="reset" value="取消"></p>
</form>
</body>
</html>connection.asp
-----------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>资料库连结结果</title>
</head><body>
<p>测试结果如下:</p>
<%
On Error Resume Next'连结资料库
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.DbOpenDatabase( _
Request("Database"),Request("Name")&"/"&Request("Password"),0)If Err.Number > 0 Then'判断是否发生错误
Response.Write "<H4>ASP的错误控制</H4>"
Response.Write "ASP 的错误来源:" & Err.Source & "<BR>"
Response.Write "ASP 的的错误代码:" & Err.Number & "<BR>"
Response.Write "ASP 的的错误说明:" & Err.Description & "<BR>"
Err.ClearResponse.Write "<H4>Oracle OLE 的错误控制</H4>"
Response.write "Oracle OLE的错误代码:" & OraSession.LastServerErr &"<BR>"
Response.write "Oracle OLE的错误说明:" & OraSession.LastServerErrText &"<BR>"
else
Response.write "<center><H3>资料库成功连结</center>"'关闭资料库
OraDatabase.Close'Free Session物件
Set OraSession = nothing
End If
%>
</body>
</html>
1、我的情况是:ASP+SQL SERVER转向ASP+ORACLE 9i,如何转?
2、我按照Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.DbOpenDatabase( _
Request("Database"),Request("Name")&"/"&Request("Password"),0)
的方法打开连接字符串,可是提示缺少对象,为何?
Set OraSession=CreateObject("OracleinProcServer.XoraSession")
Set OraDatabase=OraSession.DbOpenDatabase("investsw","hooyke/123",0)sql="select * from r_basic where id=" & request.form("id")
set Oradynaset=OraDatabase.DbCreateDynaset(sql,0)B.缺少对象看是否Request("Database"),Request("Name")&"/"&Request("Password")
这几个数值是否传送过来?
set objConnection=server.CreateObject("ADODB.Connection")
constr="Provider=MSDAORA;Data Source=linkstr;User ID=username; Password=userpassword;"
objConnection.open constr
if err then
err.clear
echoerr("打开数据库失败!<br>可能因配置错误或驱动程序版本太低!")
response.end
end if
linkstr为连接数据库的连接串