Recordset.Open Causes Lockup/Timeout
- From: "boxboy" <a@xxx>
- Date: Mon, 28 Nov 2005 03:22:50 -0500
Hi,
I was/am having a problem with a web hosting company (verio.com) running Windows
Server 2003. The problem is as follows:
The site I am working on (http://www.codebot.org) uses active server pages to loaded
up various rss feeds and parse them into pretty response documents. This works great
for server side xml requests when the request is outside of my domain, but when I
make a request within my domain (to the same server), the request for the xml
document timesout or locks the server.
So:
Client Browser requests Page "A"
Page "A" will request Page "B"
Page "B" builds and XML response and return it to Page "A"
Page "A" returns the final response to the Client Browser
You can see the result by visiting http://www.codebot.org "Most Popular Content" area
Here a concise version how Page "A" works:
/rss/test.asp on mydomain
<%@ language="jscript" %>
<%
function getRss(url) {
var xmlRequest = Server.CreateObject("Msxml2.ServerXMLHTTP");
var document = Server.CreateObject("Microsoft.XMLDOM.1.0");
var xml = "";
xmlRequest.open("GET", url, false);
xmlRequest.setRequestHeader("User-Agent",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716
Firefox/1.0.6");
xmlRequest.setRequestHeader("Accept", "text/xml");
xmlRequest.send();
document.async = false;
document.load(xmlRequest.responseBody);
xml = document.xml;
xmlRequest = null;
document = null;
return xml;
}
Response.ContentType = "text/xml";
Response.Write(getRss("http://mydomain/rss/list.asp"));
%>
And Page "B":
/rss/list.asp on mydomain
<%@ language="jscript" %>
<%
var connection = Server.CreateObject("ADODB.Connection");
connection.Open("DSN=blah");
var recordset = Server.CreateObject("ADODB.Recordset");
recordset.ActiveConnection = connection;
recordset.Source = "select '<doc>Hello World</doc>' as [result]";
recordset.Open();
Response.Write(recordset.Fields("result").Value);
recordset.Close();
recordset = null;
connection.Close();
connection = null;
%>
Obviously there is more to the pages than above, but these scripts duplicate the
problem.
I have tracked down the exact line where everything locks up. It's where I attempt to
open the recordset in Page "B". Just so you know, the DSN maps to an Access mdb file.
If I load Page "B" from the browser it works fine, but there is something about my
web host's configuration that causes the call to recordset.Open to lock the server
when called from Page "A".
On my home server I do not have this issue, so believe it has something to to with my
web host's configuration.
Could anyone please tell me why the second request fails when opening the recordset?
FWIW: I am able to get around the issue by writing Page "B" as an asp.net page.
.
- Follow-Ups:
- Re: Recordset.Open Causes Lockup/Timeout
- From: Bob Barrows [MVP]
- Re: Recordset.Open Causes Lockup/Timeout
- Prev by Date: Re: ASP interacting with Oracle server problem
- Next by Date: Re: Suddenly ODBC driver does not work
- Previous by thread: Suddenly ODBC driver does not work
- Next by thread: Re: Recordset.Open Causes Lockup/Timeout
- Index(es):
Relevant Pages
|
Loading