Oracle
 sql >> Database >  >> RDS >> Oracle

Asp Classic Connection String 500 - Errore interno del server

MICROSOFT.JET.OLEDB.4.0 è il provider OLEDB per MS Access. Avrai bisogno di una stringa di connessione ODBC o OLEDB per Oracle. Vedi questa pagina per le opzioni

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

Dopodiché è necessario un oggetto recordset come suggerisce kloarubeek sopra. Un modo molto semplice per farlo sarebbe il seguente.

    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) 

Inoltre ho notato che stai usando CDONTS per inviare e-mail. È deprecato e non lo troverai nelle versioni correnti di IIS per impostazione predefinita. Guarda invece CDOSYS

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

Infine, consiglio questa pagina a chiunque stia imparando l'ASP classico. Spiega come ottenere messaggi di errore più utili della pagina di errore interna del server 500 di base.

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

Modifica

Un esempio di script di recupero password che utilizza CDOSYS e un recordset.

NB La configurazione del CDO dipenderà dal tuo server smtp. Application("conn") significa che la mia stringa di connessione effettiva si trova in un file chiamato global.asa. Questa pagina si collega effettivamente a un db di SQL Server, ma il codice dovrebbe funzionare 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

%>