http://www.fixdown.com/article/article/1488.htm

解决方案 »

  1.   

    再补一个参考的例子:http://www.oradb.net/setup/asp_001.htm
      

  2.   

    ASP链接ORACLE的程序
    以下链接方式是用的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>
      

  3.   

    谢谢各位的回答,现在我还有几个相关问题:
    1、我的情况是:ASP+SQL SERVER转向ASP+ORACLE 9i,如何转?
    2、我按照Set OraSession = CreateObject("OracleInProcServer.XOraSession")
    Set OraDatabase = OraSession.DbOpenDatabase( _
    Request("Database"),Request("Name")&"/"&Request("Password"),0)
    的方法打开连接字符串,可是提示缺少对象,为何?
      

  4.   

    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")
    这几个数值是否传送过来?
      

  5.   

    另一种方法,比较通用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为连接数据库的连接串