Link to home
Start Free TrialLog in
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
ASKER CERTIFIED SOLUTION
Avatar of Nasir Razzaq
Nasir Razzaq
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of CloudHelpdeskOne
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
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?
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?
Try and search through all files to see if there are other references which set this value rather than using it.
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
You can set it once in a session and use it everywhere

http://www.w3schools.com/ado/met_conn_open.asp
I setup in Administration of ODBC data the MS Access driver with the path to the database as follow:

c:\Inetpub\Data\dbOpenLine.mdb

User generated image

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
What happens if you change

gDataBase.Open "dbOpenLine"

to

gDataBase.Open "websitedb"

?
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?
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?
But you did create the websitedb datasource right?
Yes, I did. I did like the images above can show.
I going to check this again.