本帖最后由 ielgnay1984 于 2010-08-21 20:00:19 编辑

解决方案 »

  1.   

    你的asp中的写法有误估计
      

  2.   


    但是asp中的system.depart,改为scott.emp就能够访问emp表。
    (注:depart是system帐户下的表,emp是scott帐户下的表)
      

  3.   

    asp 连接数据库的时候用什么用户连接的? 
      

  4.   

    把你的sql粘出来看看,登录的用户信息
      

  5.   

    ASP代码如下,望指教,谢谢!
    <HTML>
    <HEAD>
      <TITLE> 查询Oracle database的EMP数据 </TITLE>  
      </HEAD>
      <BODY BGCOLOR=#FFFFFF>
       <H3>这是使用ASP的ADO技术,通过ODBC查询Oracle database的EMP数据 </H3>
      
       <%
       Set Conn=server.CreateObject("ADODB.Connection")
       Conn.Open "Oracledsn","system","Sh20100805"
       Set RS=Conn.Execute("select * from scott.emp")
       %>
       <P>
       <TABLE BORDER=5>
       <TR>
       <% For i=0 to RS.Fields.Count-1 %>
            <TD><B><% =RS(i).Name %></B></TD>
       <% Next%>
       </TR>
       <% Do While Not RS.EOF %>
       <TR>
       <% For i=0 to RS.Fields.Count-1 %>
             <TD Align=center><% =RS(i) %></TD>
         <% Next %>
       </TR>
       <%RS.MoveNext 
       Loop
       RS.Close
       Conn.Close
       %>
       </TABLE>
      </BODY>
    </HTML>
      

  6.   

    代码Set RS=Conn.Execute("select * from scott.emp")中的表名改为 system.emp,则查询表不存在。
      

  7.   


    如果你没有在system创建过emp表,肯定是不存在的!system用户默认不存在该表!
      

  8.   

    检查一下你的system用户是否有权限可以访问scot方案下的emp表。如果没有请授权给system用户
      

  9.   

    emp表是scott用户所有的,不是system的.以systemconn的话要加上scott访问emp表
      

  10.   


    肯定的你用system登陆 访问其他用户的表 必须加个 创建此表用户.表名要么该架构就不需要加用户名总之当前用户访问其他用户的表必须 select * from 创建此表用户.表名  这样