Oracle
 sql >> Base de données >  >> RDS >> Oracle

Asp Classic Connection String 500 - Erreur de serveur interne

MICROSOFT.JET.OLEDB.4.0 est le fournisseur OLEDB pour MS Access. Vous aurez besoin d'une chaîne de connexion ODBC ou OLEDB pour Oracle. Voir cette page pour les options

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

Après cela, vous avez besoin d'un objet recordset comme le suggère kloarubeek ci-dessus. Une manière très simple de procéder serait la suivante.

    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) 

Je remarque également que vous utilisez CDONTS pour envoyer des e-mails. Il est obsolète et vous ne le trouverez pas sur les versions actuelles d'IIS par défaut. Regardez plutôt CDOSYS

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

Enfin, je recommande cette page à tous ceux qui apprennent l'ASP classique. Il explique comment obtenir des messages d'erreur qui sont plus utiles que la page d'erreur de base du serveur interne 500.

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

Modifier

Un exemple de script de récupération de mot de passe utilisant CDOSYS et un jeu d'enregistrements.

NB La configuration de CDO dépendra de votre serveur smtp. Application ("conn") signifie que ma chaîne de connexion réelle se trouve dans un fichier appelé global.asa. Cette page se connecte en fait à une base de données SQL Server, mais le code devrait fonctionner avec 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

%>