Link to home
Start Free TrialLog in
Avatar of kcsheets
kcsheets

asked on

Error trapping on ASP Oracle connection

Currently I have an application with a signon screen where the user inputs logon id and password.  I then validate this against an Oracle table entry.  There is one Oracle ID and password assigned to my app.  Now the DBA is creating an Oracle id and password that matches each of my user id and passwords.  This works fine as long as the userid and password are correct.  However, when either the id or password are wrong I get:

Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'

[Microsoft][ODBC driver for Oracle][Oracle]ORA-01017: invalid username/password; logon denied

I am getting the error on the connection open command. How do trap this error and redisplay my entry screen with the appropriate message?

Thanks.

KC  
ASKER CERTIFIED SOLUTION
Avatar of jitganguly
jitganguly

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 fritz_the_blank
You could try putting this at the top of your page:

<%On Error Resume Next%>


and then you can use code such as this to trap errors:

'VBScript errors
If Err.Number > 0 Then
    Response.write("<p><hr>The following VB Errors Occured<p>")
     Response.write("Error Number: " & Err.number & "<br>")
     Response.write("Error Source: " & Err.source & "<br>")
     Response.write("Error Description: " & Err.description & "<br>")
End If


'Connection errors
dim iCounter
if objConnection.Errors.count > 0 then
    Response.write("<p><hr>The following Connection Errors Occured<p>")
    for iCounter = 0 To objConnection.Errors.Count - 1
          Response.write("Error Number: " & objConnection.errors(iCounter).number & "<br>")
          Response.write("Error Description: " & objConnection.errors(iCounter).description & "<br>")
          Response.write("SQL State: " & objConnection.errors(iCounter).SQLState & "<br>")
          Response.write("Native Error: " & objConnection.errors(iCounter).NativeError & "<br>")
    next
end if


In your case, of course, you would not want to print the errors, but rather use conditional logic such that if there were connection errors, you would print an appropriate message for the user.


Fritz the Blank
using the Err.Number value as querystring to the redirection ASP page as a querystring. Using Select Case statement u can give proper error messages.

main page:
IF Err.Number > 0 then

   response.Redirect "login.asp?Num=" + err.Number
end if


***login.Asp***
Dim varErrorNumber
varErrorNumber = Request.QueryString
Select case varErrorNumber
    case "80040e4d"
        Response.Write "Invalid UserId/Password"
End Select
It appears this question has been abandoned.

I will leave a recommendation in the Cleanup topic area that this question will be:

- Points to jitganguly -

Please leave any comments here within the next seven days.

DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Wakie,
EE Cleanup Volunteer.