经典ASP页面的一半很好用,下半部分给出了SQL连接错误

时间:2016-09-22 15:29:24

标签: sql sql-server-2008 asp-classic iis-7 shape

请帮忙!

我正在推动经典ASP&从一台服务器到另一台服务器的ASP.Net网站,以及在旧服务器上工作正常的报告之一只在新服务器上部分工作。

有人可以告诉我:

  • 如果有任何可能阻止成功连接到SQL Server的内容。

  • 如果还有其他内容涉及:

    • 连接字符串
    • ASP页面
    • DLL

我的服务器环境:

  • Windows Server 2008 R2

  • SQL EXPRESS 2008

  • IIS7

连接详情:

此网站的Classic ASP页面使用位于注册表中的SQL连接字符串进行连接。网站上的其他经典ASP页面工作得很好......本报告的前半部分也正常工作。

我已经单独测试了连接字符串,并且连接正确。

报告结构明细:

报告的前半部分(正常工作)直接从数据库中的表加载数据,以列表格式显示每个项目。它还使用EMPLOYEES表填充列表中每个项目的员工姓名。

报告的后半部分(无法正常工作)从与上半年相同的表中加载数据。但是,它按经理对它们进行分组(经理详细信息存储在EMPLOYEES表中)。

因此,两半报告都访问相同的表格以获取信息....唯一的区别是它们的显示方式。

错误详情

用于SQL Server的Microsoft OLE DB提供程序 - > DLL.Shape_DB.ShapeCMdWithRS(SHAPE {select *来自员工所在的员工(从empID中选择员工的mgr_username(从time_off_requests中选择empID,其中mgr_code = 0))by last_name ,first_name} APPEND([select_time_requests_view。*,employees.mgr_username作为用户名,来自time_off_requests_view内部加入雇员的employees.empID = time_off_requests_view.empID,其中mgr_code = 0}将用户名与用户名相关联)作为timeoff,...)@ WEBSITENAME [version 4.0.480]错误'80004005'

[DBNETLIB] [ConnectionOpen(Connect())。] SQL Server不存在或访问被拒绝。

代码详情

以下是 DOES 工作的网站部分的CLASSIC ASP代码:

set time_off_requests = DLL.TimeOffAdminPending()
%>
<CENTER>

<%
if time_off_requests.EOF then %>
<font class="headerNoBold">No Pending Time Off Requests<BR>

<%  else %>

<font class="headerNoBold">Pending Time Off Requests</font>
<table cellspacing="0" cellpadding="3" width="500" align=center border=0 bordercolorlight=#000000 bordercolordark=#000000>
<TR bgcolor=#ffffcc>
    <TD width=33% align=center><B>Date</B></TD>
    <TD width=33% align=center><nobr><B>Requested By</B></nobr></TD>
    <TD width=33% align=center><nobr><B>Type</B></nobr></TD>
</TR>
<% 
dim theDate
do while not time_off_requests.EOF 
if (time_off_requests.AbsolutePosition mod 2) = 0 then %>
            <TR bgcolor=#ffffcc>
        <% else %>
            <TR bgcolor=#ffffff>
        <% end if %>
        <TD class="smallText" align=center>
            <A HREF="time_off_request_details.asp?timeoffreq_id=<% = time_off_requests("timeoffreq_id") %>">
            <% = time_off_requests("dt_created") %>
            </A>
        </TD>
        <TD class="smallText" align=center><% = time_off_requests("last_name") %>,&nbsp;<% = time_off_requests("first_name") %></TD>
        <TD class="smallText" align=center><% = time_off_requests("time_off_type") %></TD>
</TR>
<%      
    time_off_requests.MoveNext
    loop %>
</TABLE>
<%  end if %>

DLL中的详细信息

Function TimeOffAdminPending() As ADODB.Recordset

TimeOffAdminPending = RunCmdWithRS("select * from time_off_request_view where mgr_code =0 and empID in (select empID from employees where mgr_username = '" & username & "')")

End Function

以下是工作的部分的CLASSIC ASP代码:

<%  set managers = DLL.PendingTimeOffMgr()
if not managers.EOF then %>
<font class="headerNoBold">Pending Manager Time Off Approvals</font>
<table cellspacing="0" cellpadding="3" width="500" align=center border=0 bordercolorlight=#000000 bordercolordark=#000000>
<TR bgcolor=#ffffcc>
    <TD width=33% align=center><B>Date</B></TD>
    <TD width=33% align=center><nobr><B>Requested By</B></nobr></TD>
    <TD width=33% align=center><nobr><B>Type</B></nobr></TD>
</TR>
<%  do while not managers.EOF
    set time_requests = managers.Fields("timeoff").Value %>
<TR><TD colspan=3>
        <% = managers("last_name") %>, <% = managers("first_name") %>
</TD><TR>
<% 
do while not timeoff_requests.EOF 
if (timeoff_requests.AbsolutePosition mod 2) = 0 then %>
            <TR bgcolor=#ffffcc>
        <% else %>
            <TR bgcolor=#ffffff>
        <% end if %>
        <TD class="smallText" align=center>
            <% = timeoff_requests("dt_created") %>
        </TD>
        <TD class="smallText" align=center><% = timeoff_requests("last_name") %>,&nbsp;<% = timeoff_requests("first_name") %></TD>
        <TD class="smallText" align=center><% = timeoff_requests("timeoff_type") %></TD>
</TR>
<%
    timeoff_requests.MoveNext
    loop
    managers.MoveNext
    loop %>
</TABLE>
<%  end if %>

DLL中的详细信息

PendingTimeOffMgr() As ADODB.Recordset

PendingTimeOffMgr = ShapeCmdWithRS("SHAPE {select * from employees where username in (select mgr_username from employees where empID in (select empID from time_off_requests where mgr_code = 0)) order by last_name, first_name} APPEND ({select time_off_requests_view.*, employees.mgr_username as username from time_off_requests_view inner join employees on employees.empID=time_off_requests_view.empID where mgr_code = 0} relate username to username) as timeoff")

End function

0 个答案:

没有答案