|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2005
Messaggi: 1
|
GROSSO problema con DATBASE acces per asp
salve stò cercando di spostare il mio sito da un provaider ad Aruba. Il problema è che non riesco a collegare il database che ho posto su aruba con il file di richiesta info. Praticamente se una persona mi compila il questionario la pagina si collega al vecchio sito www.studiorisi.it.Ora su aruba ho visto che bisogna cambiare qualche scritta nello scipt, ma non riesco a capire dove. di seguito il mio script a seguire le indicazioni di aruba, qualcuno potrebbe aiutarmi. GRAZIE mille Nome file: ManageEMail.asp <% Option Explicit Response.AddHeader "pragma","no-cache" Response.CacheControl = "no-cache" Response.Expires = -1500 Response.Buffer = True Const IN_DEBUG = False %> <!--#INCLUDE VIRTUAL="/include/Constants.inc"--> <!--#INCLUDE VIRTUAL="/include/Formats.inc"--> <% Dim sPagError Dim sPagGrazie Dim sPagIncompleto sPagError = Request.Form("PAGINA_ERRORE") sPagGrazie = Request.Form("PAGINA_GRAZIE") sPagIncompleto = Request.Form("PAGINA_INCOMPLETO") Dim sCodice If Not IsEmpty(Request.Form("CODICE")) Then sCodice = UCase(CStr(Request.Form("CODICE"))) Else Response.Redirect sPagError End If Dim cnn Dim rds Dim sSQL Dim Rec Dim iNum Dim sEMailAg, sEMailAgPr Const I_FLD_IDUTENTE = 0 Const I_FLD_UTNOME = 1 Const I_FLD_UTCOGNOME = 2 Const I_FLD_UTMAILREF = 3 Const I_FLD_UTMAILAVV = 4 Const I_FLD_UTCODICE = 5 Const I_FLD_UTINVPACK = 6 Const I_FLD_UTCODROT = 7 Rec = Null Set cnn = Server.CreateObject("ADODB.Connection") cnn.ConnectionString = Application("StrConn") cnn.CursorLocation = adUseClient cnn.Open Set rds = Server.CreateObject("ADODB.Recordset") Set rds.ActiveConnection = cnn rds.CursorType = adOpenForwardOnly rds.LockType = adLockReadOnly If sCodice = "AA0000" Then sSQL = "SELECT * FROM UTENTI WHERE CodRuotante = true" Else sSQL = "SELECT * FROM UTENTI WHERE UtCodiceAccesso = """ & sCodice & """" End If rds.open sSQL If NOT rds.EOF Then Rec = rds.GetRows () End If rds.close If Not IsNull(Rec) Then iNum = 0 If UBound(Rec,2) => 1 Then If sCodice = "AA0000" Then sSQL = "SELECT NumeroRotazione FROM ROTAZIONE" rds.CursorType = adOpenKeyset rds.LockType = adLockOptimistic rds.open sSQL If Not rds.EOF Then iNum = rds(0) If iNum => UBound(Rec,2) Then iNum = 0 rds(0) = iNum rds.update Else iNum = iNum + 1 rds(0) = iNum rds.update End If End If End If rds.close Else ' Response.Redirect sPagError End If Set rds = Nothing cnn.Close Set cnn = Nothing sEMailAg = Rec(I_FLD_UTMAILREF, iNum) sEMailAgPr = Rec(I_FLD_UTMAILAVV, iNum) If SendEMail(sEMailAg, sEMailAgPr) then Response.Redirect sPagGrazie Else Response.Redirect sPagError End if Else Response.Redirect sPagError End if %> <script runat=server language=vbscript> '*********************************************** Function SendEMail(sEMailAg, sEMailAgPr) Dim sBody Dim sFileName Dim sEMail Dim obj, objMail, objFile Dim sError Dim x, iTipo Dim sSubject Dim sDato 'On Error Resume Next SendEMail = False sEMail = Request.Form("EMAIL") sFileName = "/cgi-bin/" & Request.Form("SESSO") & Request.Form("NOME_PACCHETTO") If Rec(I_FLD_UTINVPACK,iNum) Then Set obj = Server.CreateObject("Scripting.FileSystemObject") Set objFile = obj.OpenTextFile(Server.MapPath(sFileName), ForReading) sBody = objFile.ReadAll objFile.Close Set objFile = Nothing Set obj = Nothing sDato = sEMailAg sBody = Replace(sBody, "{EMAILAGENTE}", sDato) sDato = UCase(Request.Form("CODICE")) sBody = Replace(sBody, "{CODICE}", sDato) sDato = Request.Form("COME") sBody = Replace(sBody, "{COME}", sDato) sDato = Request.Form("NOME") sBody = Replace(sBody, "{NOME}", sDato) sDato = Request.Form("COGNOME") sBody = Replace(sBody, "{COGNOME}", sDato) sDato = Request.Form("SESSO") sBody = Replace(sBody, "{SESSO}", sDato) sDato = Request.Form("INDIRIZZO") sBody = Replace(sBody, "{INDIRIZZO}", sDato) sDato = Request.Form("CITTA") sBody = Replace(sBody, "{CITTA}", sDato) sDato = Request.Form("PROVINCIA") sBody = Replace(sBody, "{PROVINCIA}", sDato) sDato = Request.Form("CAP") sBody = Replace(sBody, "{CAP}", sDato) sDato = Request.Form("STATO") sBody = Replace(sBody, "{STATO}", sDato) sDato = Request.Form("TELEFONO") sBody = Replace(sBody, "{TELEFONO}", sDato) sDato = Request.Form("FAX") sBody = Replace(sBody, "{FAX}", sDato) sDato = Request.Form("EMAIL") sBody = Replace(sBody, "{EMAIL}", sDato) sDato = Request.Form("PERCHE") sBody = Replace(sBody, "{PERCHE}", sDato) sDato = Request.Form("IN_PROPRIO") sBody = Replace(sBody, "{IN_PROPRIO}", sDato) sDato = Request.Form("GUADAGNO") sBody = Replace(sBody, "{GUADAGNO}", sDato) sDato = Request.Form("PAESI") sBody = Replace(sBody, "{PAESI}", sDato) sDato = Request.Form("LAVORO_ATTUALE") sBody = Replace(sBody, "{LAVORO_ATTUALE}", sDato) sDato = Request.Form("ISTRUZIONE") sBody = Replace(sBody, "{ISTRUZIONE}", sDato) sDato = Request.Form("RAGIONI") sBody = Replace(sBody, "{RAGIONI}", sDato) sDato = Request.Form("ATTRAZIONI") sBody = Replace(sBody, "{ATTRAZIONI}", sDato) sDato = Request.Form("VANTAGGI") sBody = Replace(sBody, "{VANTAGGI}", sDato) sDato = Request.Form("TEMPO") sBody = Replace(sBody, "{TEMPO}", sDato) sDato = Request.Form("COMMENTI") sBody = Replace(sBody, "{COMMENTI}", sDato) If Not IN_DEBUG Then Set objMail = Server.CreateObject("CDO.Message") SendEMail = (Err.number = 0) If Not ObjMail Is Nothing Then With ObjMail .Subject = "Informazioni" .HTMLBody = sBody .From = sEMailAg .To = sEMail '.BodyFormat = 0 '.MailFormat = 0 '.Importance = 1 ' 0 Low 1 Normal 2 High .Send SendEMail = (Err.number = 0) End with Set objMail = nothing Else SendEMail = False End If End If End If sBody = "NOME_PACCHETTO: " & Request.Form("NOME_PACCHETTO") & Chr(10) sDato = UCase(Request.Form("CODICE")) sBody = sBody &"CODICE: " & sDato & Chr(10) sDato = Request.Form("COME") sBody = sBody &"COME: " & sDato & Chr(13) sDato = Request.Form("NOME") sBody = sBody &"NOME: " & sDato & Chr(13) sDato = Request.Form("COGNOME") sBody = sBody &"COGNOME: " & sDato & Chr(13) sDato = Request.Form("SESSO") sBody = sBody &"SESSO: " & sDato & Chr(13) sDato = Request.Form("INDIRIZZO") sBody = sBody &"INDIRIZZO: " & sDato & Chr(13) sDato = Request.Form("CITTA") sBody = sBody &"CITTA: " & sDato & Chr(13) sDato = Request.Form("PROVINCIA") sBody = sBody &"PROVINCIA: " & sDato & Chr(13) sDato = Request.Form("CAP") sBody = sBody &"CAP: " & sDato & Chr(13) sDato = Request.Form("STATO") sBody = sBody &"STATO: " & sDato & Chr(13) sDato = Request.Form("TELEFONO") sBody = sBody &"TELEFONO: " & sDato & Chr(13) sDato = Request.Form("FAX") sBody = sBody &"FAX: " & sDato & Chr(13) sDato = Request.Form("EMAIL") sBody = sBody &"EMAIL: " & sDato & Chr(13) sDato = Request.Form("CONFERMA_EMAIL") sBody = sBody &"CONFERMA_EMAIL: " & sDato & Chr(13) sDato = Request.Form("PERCHE") sBody = sBody &"PERCHE: " & sDato & Chr(13) sDato = Request.Form("IN_PROPRIO") sBody = sBody &"IN_PROPRIO: " & sDato & Chr(13) sDato = Request.Form("GUADAGNO") sBody = sBody &"GUADAGNO: " & sDato & Chr(13) sDato = Request.Form("PAESI") sBody = sBody &"PAESI: " & sDato & Chr(13) sDato = Request.Form("LAVORO_ATTUALE") sBody = sBody &"LAVORO_ATTUALE: " & sDato & Chr(13) sDato = Request.Form("ISTRUZIONE") sBody = sBody &"ISTRUZIONE: " & sDato & Chr(13) sDato = Request.Form("RAGIONI") sBody = sBody &"RAGIONI: " & sDato & Chr(13) sDato = Request.Form("ATTRAZIONI") sBody = sBody &"ATTRAZIONI: " & sDato & Chr(13) sDato = Request.Form("VANTAGGI") sBody = sBody &"VANTAGGI: " & sDato & Chr(13) sDato = Request.Form("TEMPO") sBody = sBody &"TEMPO: " & sDato & Chr(13) sDato = Request.Form("COMMENTI") sBody = sBody &"COMMENTI: " & sDato & Chr(13) sDato = Date() sBody = sBody &"DATA_PRIMO_PACCHETTO: " & sDato If Not IN_DEBUG Then Set objMail = Server.CreateObject("CDO.Message") SendEMail = (Err.number = 0) If Not ObjMail Is Nothing Then With ObjMail .Subject = "RICHIESTA INFORMAZIONI" .TextBody = sBody .From = "[email protected]" .To = sEMailAgPr .Send SendEMail = (Err.number = 0) End With Set objMail = nothing End If End If If IN_DEBUG Then SendEMail = True response.write sEMailAg & "<br>" & sEMailAgPr & "<br>" response.write sBody End If End Function </script> ALTRO FILE: Global.asa <script runat=server language=vbscript> Const NOME_DATABASE = "\mdb-database\lavoro.mdb" Sub Application_OnStart Dim StrConn On Error resume Next ' ******* StrConn = "Provider=Microsoft.Jet.Oledb.4.0;data source=" & Server.MapPath(NOME_DATABASE) Application("StrConn") = StrConn End Sub </script> Indicazioni di Aruba: Questo tipo di connessione a partire dal nome indica che per collegarsi al database non usa file DSN di sistema, ma una connessione diretta al database sul server, indicandone il percorso: nello specifico usando l'oggetto Server e il suo metodo CreateObject generiamo innanzitutto l'oggetto di ADO ADODB.Connection Dim conn Set conn = Server.CreateObject("ADODB.Connection") quindi ora e' possibile tramite l'oggetto creato connettersi fisicamente al nostro database che risiedera' nella cartella speciale apposita mdb-database e quindi aprirlo: la stringa di connessione contera' tutti i parametri per raggiungere il database conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/database.mdb") Tramite SQL possiamo interrogare ed interagire con il database usando apposite query : al termine delle interrogazioni vanno chiusi immediatamente (non al termine della pagina) gli eventuali oggetti recordset utilizzati e soprattutto va chiusa la connessione al database Conn.Close Set Conn=Nothing Quanto piu' celermente si chiudono oggetti e connessione, prima tornano disponibili sul server gli oggetti e le risorse necessarie all'ottimale gestione dei database da parte di tutti gli utenti: per il medesimo motivo si indica di non richiamare gli oggetti Connection e Recordset all'interno degli oggetti Session o Application istanziabili nel file global.asa |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:21.










salve stò cercando di spostare il mio sito da un provaider ad Aruba. Il problema è che non riesco a collegare il database che ho posto su aruba con il file di richiesta info. Praticamente se una persona mi compila il questionario la pagina si collega al vecchio sito 








