Avatar of CloudHelpdeskOne
CloudHelpdeskOne
 asked on

Restoring an old web asp application on windows server 2003

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
Visual Basic.NETWindows Server 2003Microsoft Access

Avatar of undefined
Last Comment
CloudHelpdeskOne

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Nasir Razzaq

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
CloudHelpdeskOne

ASKER
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
Nasir Razzaq

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?
CloudHelpdeskOne

ASKER
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?
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
Nasir Razzaq

Try and search through all files to see if there are other references which set this value rather than using it.
CloudHelpdeskOne

ASKER
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
Nasir Razzaq

You can set it once in a session and use it everywhere

http://www.w3schools.com/ado/met_conn_open.asp
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
CloudHelpdeskOne

ASKER
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
Nasir Razzaq

What happens if you change

gDataBase.Open "dbOpenLine"

to

gDataBase.Open "websitedb"

?
CloudHelpdeskOne

ASKER
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?
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
Nasir Razzaq

CloudHelpdeskOne

ASKER
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?
Nasir Razzaq

But you did create the websitedb datasource right?
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
CloudHelpdeskOne

ASKER
Yes, I did. I did like the images above can show.
I going to check this again.