Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Asp Classic Connection String 500 - Erro interno do servidor


MICROSOFT.JET.OLEDB.4.0 é o provedor OLEDB para MS Access. Você precisará de uma string de conexão ODBC ou OLEDB para Oracle. Veja esta página para opções

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

Depois disso, você precisa de um objeto recordset como kloarubeek sugere acima. Uma maneira muito simples de fazer isso seria a seguinte.
    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) 

Também noto que você está usando CDONTS para enviar e-mails. Ele está obsoleto e você não o encontrará nas versões atuais do IIS por padrão. Olhe para CDOSYS em vez disso

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

Por fim, recomendo esta página para quem está aprendendo ASP Clássico. Ele explica como obter mensagens de erro que são mais úteis do que a página de erro do servidor interno 500 básico.

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

Editar

Um exemplo de um script de recuperação de senha usando CDOSYS e um conjunto de registros.

NB A configuração do CDO dependerá do seu servidor smtp. Application("conn") significa que minha string de conexão real está em um arquivo chamado global.asa. Esta página realmente se conecta a um banco de dados SQL Server, mas o código deve funcionar com 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

%>