Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Asp Classic Connection String 500 – Interner Serverfehler

MICROSOFT.JET.OLEDB.4.0 ist der OLEDB-Anbieter für MS Access. Sie benötigen entweder eine ODBC- oder eine OLEDB-Verbindungszeichenfolge für Oracle. Siehe diese Seite für Optionen

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

Danach benötigen Sie ein Recordset-Objekt, wie kloarubeek oben vorschlägt. Ein sehr einfacher Weg, dies zu tun, wäre wie folgt.

    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) 

Ich stelle auch fest, dass Sie CDONTS verwenden, um E-Mails zu senden. Es ist veraltet und Sie werden es standardmäßig nicht in aktuellen Versionen von IIS finden. Sehen Sie sich stattdessen CDOSYS an

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

Abschließend empfehle ich diese Seite jedem, der Classic ASP lernt. Es erklärt, wie man Fehlermeldungen erhält, die nützlicher sind als die grundlegende 500-Fehlerseite des internen Servers.

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

Bearbeiten

Ein Beispiel für ein Skript zum Abrufen von Kennwörtern mit CDOSYS und einem Recordset.

Hinweis:Die CDO-Konfiguration hängt von Ihrem SMTP-Server ab. Application("conn") bedeutet, dass sich meine eigentliche Verbindungszeichenfolge in einer Datei namens global.asa befindet. Diese Seite stellt tatsächlich eine Verbindung zu einer SQL Server-Datenbank her, aber der Code sollte mit Oracle funktionieren

<%@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

%>