sql >> Base de Datos >  >> RDS >> Oracle

Asp Classic Connection String 500 - Error interno del servidor

MICROSOFT.JET.OLEDB.4.0 es el proveedor OLEDB para MS Access. Necesitará una cadena de conexión ODBC o OLEDB para Oracle. Consulte esta página para conocer las opciones

http://www.connectionstrings.com/oracle/

Después de eso, necesita un objeto de conjunto de registros como sugiere kloarubeek arriba. Una forma muy sencilla de hacerlo sería la siguiente.

    DIM objDB, rs, rssql
    Set objDB = Server.CreateObject("ADODB.Connection")
    objDB.Open "[your connection string goes here]"
    rssql = "SELECT email_addr,medacist_password FROM medacist_user WHERE email_addr = '" & strEmail & "'"
    Set rs = objDB.Execute(rsSQL) 

También noté que está utilizando CDONTS para enviar correos electrónicos. Está en desuso y no lo encontrará en las versiones actuales de IIS de forma predeterminada. Mire CDOSYS en su lugar

http://www.w3schools.com/asp/asp_send_email.asp

Finalmente, recomiendo esta página para cualquiera que esté aprendiendo ASP clásico. Explica cómo obtener mensajes de error que son más útiles que la página básica de error del servidor interno 500.

http://www.chestysoft.com/asp-error-messages.asp

Editar

Un ejemplo de un script de recuperación de contraseña usando CDOSYS y un conjunto de registros.

NB La configuración de CDO dependerá de su servidor smtp. Application("conn") significa que mi cadena de conexión real está en un archivo llamado global.asa. Esta página en realidad se conecta a una base de datos de SQL Server, pero el código debería funcionar con Oracle

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<% 
If InStr(request.form("username"),"@") > 0 Then
Set objMail = Server.CreateObject("CDO.Message")
Set iConfg = Server.CreateObject("CDO.Configuration")
Set Flds = iConfg.Fields
With Flds
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "youremailusername"
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "youremailpasword"
    .Update
End With
objMail.Configuration = iConfg
objMail.To = CStr(request.form("username"))
objMail.From = "[email protected]"
objMail.Subject = "Your login details"
objMail.TextBody = "Your login details are as follows " & vbcrlf & vbcrlf
set conn = Server.CreateObject("ADODB.Connection")
conn.open Application("conn")

sql = "select ContactEmailAddress, ContactAffiliateUsername, ContactAffiliatePassword from Contacts where ContactEmailAddress ='" & request.form("username") & "'"



set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,3,1

If rs.bof And rs.eof Then
response.redirect("invalidemailpage.asp?invalidemail=2")

Else 

objMail.To = RS("ContactEmailAddress")
objMail.TextBody = objMail.TextBody & "Username = " & RS("ContactAffiliateUsername") & ", Password = " & RS("ContactAffiliatePassword") & vbcrlf


End If 

objMail.Send
Set objMail = Nothing

rs.close
set rs = nothing
conn.close
set conn = nothing 
response.redirect("login.asp?sentpassword=1")
Else
response.redirect("invalidemailpage.asp?invalidemail=1")
End If

%>