none
asp与sql数据库连接问题 RRS feed

  • 问题

  • 我的系统是XP,sql server 2000采用的是windows登录方式,我用Dreamweaver MX 2004写一段程序,目的是让数据库中的一个表的内容在网页中显示出来。

    程序清单如下:

    <%
       dim conn,connstr
        
       strconn = "Provider=Sqloledb;Initial Catalog=test;Integrated Security=SSPI"
       set conn = server.createobject("adodb.connection")
       conn.open strconn
            
       dim rs,sql
       set rs=server.CreateObject("ADODB.Recordset")   
       sql="select 学号,姓名,年龄,性别,所在系 from 学生"
       rs.open sql,conn,1,1
     /%> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <style type="text/css">
    <!--
    .style1 {
     font-size: 24px;
     font-weight: bold;
    }
    -->
    </style>
    </head>
    <body>
     <div align="center" class="style1">
       <p>学生基本情况显示</p>
       <div align="left">  
         <table width="778" height="299" border="1">
           <tr>
             <td width="146">学号</td>
             <td width="147">姓名</td>
             <td width="132">年龄</td>
             <td width="84">性别</td>
             <td width="123">所在系</td>
           </tr>
         
        <%if not rs.eof then
           for i=1 to 5
      %>
      <tr>
      <td align="center" bgcolor="#ffffff"><%=rs("学号")%></td>
      <td align="center" bgcolor="#ffffff"><%=rs("姓名")%></td>
      <td align="center" bgcolor="#ffffff"><%=rs("年龄")%></td>
      <td align="center" bgcolor="#ffffff"><%=rs("性别")%></td>
      <td align="center" bgcolor="#ffffff"><%=rs("所在系")%></td> 
      </tr>
      <%rs.movenext
        next
        end if %>   
         </table>
       </div>
       <p align="left">&nbsp;</p>
     </div>
    </body>
    </html>

    可运行后,无法显示表中内容,也没有错误提示,也不知数据库连接成功没有?请高手指点一下,十分感谢。

     

    2010年10月10日 2:57

全部回复

  • Didn't see sql server name in your connection string.
    2010年10月10日 3:25
  • 需要指定连接的服务器,和实例名称(如何是命名实例)

    例如:

    Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

    http://www.connectionstrings.com

    里面有有很方式


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年10月10日 5:06
    版主
  • 我创建的数据库为:test

    按以上表达式做修改后:

    strconn = "Provider=sqloledb;Data Source=202.114.87.99;Initial Catalog=test;Integrated Security=SSPI"

    运行以后,依然没有结果。还有可能是什么问题?请指教。

    2010年10月10日 7:44
  • 有什么错误信息吗?


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年10月10日 13:27
    版主
  • <%
       dim conn,connstr
        
       strconn = "Provider=SQLOLEDB.1;Data Source=202.114.87.99;Initial Catalog=test;Integrated Security=SSPI"
       set conn = server.createobject("adodb.connection")
       conn.open strconn
            
       dim rs,sql
       set rs=server.CreateObject("ADODB.Recordset")   
       sql="select 学号,姓名,年龄,性别,所在系 from 学生"
       rs.open sql,conn,1,1
     /%> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <style type="text/css">
    <!--
    .style1 {
     font-size: 24px;
     font-weight: bold;
    }
    -->
    </style>
    </head>
    <body>
     <div align="center" class="style1">
       <p>学生基本情况显示</p>
       <div align="left">  
         <table width="778" height="299" border="1">
           <tr>
             <td width="146">学号</td>
             <td width="147">姓名</td>
             <td width="132">年龄</td>
             <td width="84">性别</td>
             <td width="123">所在系</td>
           </tr>
         
        <%if not rs.eof then
           for i=1 to 5
      %>
      <tr>
      <td align="center" bgcolor="#ffffff"><%=rs("学号")%></td>
      <td align="center" bgcolor="#ffffff"><%=rs("姓名")%></td>
      <td align="center" bgcolor="#ffffff"><%=rs("年龄")%></td>
      <td align="center" bgcolor="#ffffff"><%=rs("性别")%></td>
      <td align="center" bgcolor="#ffffff"><%=rs("所在系")%></td> 
      </tr>
      <%rs.movenext
        next
        end if
        conn.close
    Set conn = Nothing
     %>   
         </table>
       </div>
       <p align="left">&nbsp;</p>
     </div>
    </body>
    </html>

    More: blog.csdn.net/happyflystone
    2010年10月10日 13:34
  • 我创建的数据库为:test

    按以上表达式做修改后:

    strconn = "Provider=sqloledb;Data Source=202.114.87.99;Initial Catalog=test;Integrated Security=SSPI"

    运行以后,依然没有结果。还有可能是什么问题?请指教。

    Need sql port number in data source if sql doesn't listen on 1433.
    2010年10月10日 17:32
  • 没有错误信息。

    2010年10月11日 1:02
  • 我修改Data Source=202.114.87.99,1433,还是没有结果。

    sql port如何设置?

    2010年10月11日 1:13
  • 我修改Data Source=202.114.87.99,1433,还是没有结果。

    sql port如何设置?

    是  202.114.87.99,1433, 而不是“202.114.87.99,1433”,注意这里的逗号

    2010年10月11日 1:37
    版主
  • 测试连接是否成功,你可以监控一下。
    另外你还可以故意写错表名或者字段名,看看有没有反应会不会报错,如果报错表示能连接上那个库了

    sql="select 学号,姓名,年龄,性别,所在系 from 学生"
    写成
    sql="select 学号,姓名,年龄,性别,所在系 from 学生AA"

    2010年10月11日 1:40
    版主
  • 你还可以在语句“ if not rs.eof then ”这里加上else分支,打印一些调试信息,看下是不是没有返回记录集的关系才造成页面不显示的。

    2010年10月11日 1:42
    版主
  • 我修改Data Source=202.114.87.99,1433,还是没有结果。

    sql port如何设置?

    You can find sql port used in sql server log.
    2010年10月11日 2:24
  • 您介绍的方法我都试了一下,页面上没有出错信息。

    我想还是数据库没有连上,书写格式上还有什么问题呢?

    2010年10月11日 2:50
  • 查一下 sql server 的日志, 看看是否有提示登录失败, 如果有, 把提示失败的用户添加到 sql 登录, 并授予适当的权限.

    如果没有, 则用 sql server prifile 跟踪一下成功和失败登录两个事件, 在你访问数据的时候, 如果 profile 没有 trace 到登录事件, 则说明你的 asp 数据为连接没有设置对, 没有连接你的数据库服务器.

    2010年10月11日 4:12
  • 对于 asp, 默认应该是以 iis 服务的启动用户去连接 sql server 的, 一般这个帐号在 sql server 中是没有对应的 login 的.
    2010年10月11日 4:14