Solved

Restoring an old web asp application on windows server 2003

Posted on 2012-12-26
14
190 Views
Last Modified: 2013-10-11
I'm restoring an old asp application on a windows server 2003, this application use an Access file to its operation.

I could setup asp again on the server but when we execute the pages, the server said that the page can not be showed, a http error 500 appears.

The default.asp page is displaying without problems, that is a login user page, then we put the username and password that is sent to another page called Authentication.asp then the error 500 occurs. At this point I don't know if I miss a configuration or we need to setup another application or what.

I check the code, and probably the page crash in this place:

	
        lNextASP = "Default.asp"
	lUserName = Request("tNombre")
	lPassword = Request("tPwd")
	Set gDataBase = Server.CreateObject("ADODB.Connection")
	gDataBase.Open Application("dbOpenLine")
	Set gDataSet = Server.CreateObject("ADODB.Recordset")
	gSql = "SELECT U.IdUsuario, U.Clave, U.Tipo, HM.IdHospital FROM tUsuarios AS U INNER JOIN tHospMed AS HM "
	gSql = gSql & "ON U.IdUsuario = HM.IdUsuario "
	gSql = gSql & "WHERE U.Cancel = 0 AND U.Clave = '" & lUserName & "' AND U.Pwd = '" & lPassword & "'"
	gDataSet.Open gSql, gDataBase

Open in new window



I know that is an old application based on asp classic and VB language, but now I don't have ideas on how to setup this old fashion asp application.

Additionally I tried to check what is the error on the server but I notice that the windows server 2003 doesn't have a log error for the web server. Is it possible to setup a log error file to the web server?

Somebody can help me?. Thank you
0
Comment
Question by:CloudHelpdeskOne
  • 7
  • 7
14 Comments
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 270 total points
ID: 38721968
It looks like a database issue.

>gDataBase.Open Application("dbOpenLine")

Does Application("dbOpenLine") return anything?
0
 

Author Comment

by:CloudHelpdeskOne
ID: 38722231
I guess that this part of my problem, but I don't know how to check what this function return, because I don't know how to check this, there is not any error log to check, and I don't have full experience with asp.

Any suggestion to know how to check the output of this function? Even I don't understand this part of the code: Application("dbOpenLine")

1. I found out function "Application" and I didn't find any  reference in the method Open
2. "dbOpenLine" doesn't seem to be and Access file, the people that give to me this application to restore, gave me a mdb file which name is not dbOpenLine.

So I'm a little lost about how to debug this part of the code.
Could you help me to figure out what can I do?

Thank you
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 38722243
Application is one of the built in ASP objects. Application("name") returns a value that was previously stored with that name so

Application("DB") = "blablabla"

and the

Application("DB") will return "blablabla"


Is this Application("dbOpenLine") being used anywhere else?
0
Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

 

Author Comment

by:CloudHelpdeskOne
ID: 38722396
Well, within the page, no previous reference to this object. Neither, exist any reference to an include file with this code

These are the first lines of the file.

<%Option Explicit%>
<%

Dim lName, lUserName, lPassword, lIP, lNextASP
Dim gDataSet, gSql, gError, gDataBase, lDataSet, lExist

	lNextASP = "Default.asp"
	lUserName = Request("tNombre")
	lPassword = Request("tPwd")
	Set gDataBase = Server.CreateObject("ADODB.Connection")
	gDataBase.Open Application("dbOpenLine")
	Set gDataSet = Server.CreateObject("ADODB.Recordset")
	gSql = "SELECT U.IdUsuario, U.Clave, U.Tipo, HM.IdHospital FROM tUsuarios AS U INNER JOIN tHospMed AS HM "
	gSql = gSql & "ON U.IdUsuario = HM.IdUsuario "
	gSql = gSql & "WHERE U.Cancel = 0 AND U.Clave = '" & lUserName & "' AND U.Pwd = '" & lPassword & "'"
	gDataSet.Open gSql, gDataBase
	If gDataSet.EOF Then
		gError = "No account found"
	Else
.
.
.

Open in new window


There is another way to declare the value of Application ("dbOpenLine") without any reference in the code?
Where should I need to look for?
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 38722485
Try and search through all files to see if there are other references which set this value rather than using it.
0
 

Author Comment

by:CloudHelpdeskOne
ID: 38735770
I found 174 files that use Application("dbOpenLine"), like:

gDataBase.Open Application("dbOpenLine")
lDataBase.Open Application("dbOpenLine")
gDBDiag.Open Application("dbOpenLine")
gDBDiagnos.Open Application("dbOpenLine")

but nothing about

Application("dbOpenLine") = somevalue

Then is it possible that I don't have a good backup?

How and where I need to define this object? In the same page where I use this object?
Is this right ? :
Application("dbOpenLine") = "database1.mdb"


Thank you for your help
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 38738315
You can set it once in a session and use it everywhere

http://www.w3schools.com/ado/met_conn_open.asp
0
 

Author Comment

by:CloudHelpdeskOne
ID: 38739224
I setup in Administration of ODBC data the MS Access driver with the path to the database as follow:

c:\Inetpub\Data\dbOpenLine.mdb

ODBC Windows box

Then I changed the code to this way:

    Application("dbOpenLine") = "dbOpenLine.mdb"

	lNextASP = "Default.asp"
	lUserName = Request("tNombre")
	lPassword = Request("tPwd")
	Set gDataBase = Server.CreateObject("ADODB.Connection")
	gDataBase.Open Application("dbOpenLine")
   

Open in new window


But nothing happened, when we requested the page we received an internal server error

then I changed the code again:

    
	lNextASP = "Default.asp"
	lUserName = Request("tNombre")
	lPassword = Request("tPwd")
	Set gDataBase = Server.CreateObject("ADODB.Connection")
	gDataBase.Open "dbOpenLine"

Open in new window


But again we received an internal server error.
Any suggestion of what is missing?

Thank you
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 38740215
What happens if you change

gDataBase.Open "dbOpenLine"

to

gDataBase.Open "websitedb"

?
0
 

Author Comment

by:CloudHelpdeskOne
ID: 38742282
Nothing happened, again the error 500, internal server error.

Is there a way to check a error log file for iis?

Is ther some error log file that shows why iis display an internal server error?
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 38742352
0
 

Author Comment

by:CloudHelpdeskOne
ID: 38761387
Thank you for your post, I found the log file of iis and I found the following error:

2012-12-26 06:56:34 W3SVC1 127.0.0.1 POST /Authentication.asp |22|80004005|[Microsoft][Administrador_de_controladores_ODBC]_No_se_encuentra_el_nombre_del_origen_de_datos_y_no_se_especificó_ningún_controlador_predeterminado 80 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+SV1;+.NET+CLR+1.1.4322) 500 0 0

The error is: Data source name not found and no default driver specified
Error: 80004005

I google this error but I found suggestions to windows server NT and 2000, that I checked them to use in the server and these instruccions are not useful on windows server 2003.

Suggestions?
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 38763503
But you did create the websitedb datasource right?
0
 

Author Comment

by:CloudHelpdeskOne
ID: 38773124
Yes, I did. I did like the images above can show.
I going to check this again.
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Learn about cloud computing and its benefits for small business owners.
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question