sql >> Databasteknik >  >> RDS >> Oracle

Asp Classic Connection String 500 - Internt serverfel

MICROSOFT.JET.OLEDB.4.0 är OLEDB-leverantören för MS Access. Du behöver antingen en ODBC- eller en OLEDB-anslutningssträng för Oracle. Se den här sidan för alternativ

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

Efter det behöver du ett recordset-objekt som kloarubeek föreslår ovan. Ett mycket enkelt sätt att göra detta på skulle vara följande.

    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) 

Jag märker också att du använder CDONTS för att skicka e-post. Den är utfasad och du hittar den inte i nuvarande versioner av IIS som standard. Titta på CDOSYS istället

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

Slutligen rekommenderar jag den här sidan för alla som lär sig klassisk ASP. Den förklarar hur man får felmeddelanden som är mer användbara än den grundläggande 500 interna serverfelsidan.

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

Redigera

Ett exempel på ett lösenordshämtningsskript som använder CDOSYS och en postuppsättning.

OBS! CDO-konfigurationen beror på din smtp-server. Application("conn") betyder att min faktiska anslutningssträng finns i en fil som heter global.asa. Den här sidan ansluter faktiskt till en SQL Server-db, men koden bör fungera med 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

%>


  1. Hur byter man ut OR-operatör med UNION-operatör?

  2. mysql_real_escape_string() i .NET Framework

  3. MySQL frågar efter exempel med svar

  4. Kör för varje tabell i PLSQL