ho implementato un sistema di registrazione/login in asp, che funziona bene in locale, ma non in remoto.
se provo ad effettuare la registrazione o il login in rete, mi restituisce questo errore:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/registrati.asp, line 27
nel caso di login, mi dà ovviamente un riferimento di file/riga diverso; in entrambe i casi, comunque, sono le righe in cui viene
richiamata la variabile definita nel file di connessione.
questo è il codice asp della pagina di registrazione:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/panconn.asp" -->
<%
' *** Edit Operations: declare variables
MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>
<%
' *** Redirect if username exists
MM_flag="MM_insert"
If (CStr(Request(MM_flag)) <> "") Then
MM_dupKeyRedirect="duplicatedID.asp"
MM_rsKeyConnection=MM_pandaconn_STRING
MM_dupKeyUsernameValue = CStr(Request.Form("U_ID"))
MM_dupKeySQL="SELECT U_ID FROM USERS WHERE U_ID='" & MM_dupKeyUsernameValue & "'"
MM_adodbRecordset="ADODB.Recordset"
set MM_rsKey=Server.CreateObject(MM_adodbRecordset)
MM_rsKey.ActiveConnection=MM_rsKeyConnection //QUESTA E' LA RIGA 27!!!
MM_rsKey.Source=MM_dupKeySQL
MM_rsKey.CursorType=0
MM_rsKey.CursorLocation=2
MM_rsKey.LockType=3
MM_rsKey.Open
If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then
' the username was found - can not add the requested username
MM_qsChar = "?"
If (InStr(1,MM_dupKeyRedirect,"?") >= 1) Then MM_qsChar = "&"
MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername=" & MM_dupKeyUsernameValue
Response.Redirect(MM_dupKeyRedirect)
End If
MM_rsKey.Close
End If
%>
<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) <> "") Then
MM_editConnection = MM_panconn_STRING
MM_editTable = "USERS"
MM_editRedirectUrl = "login.asp"
MM_fieldsStr = " U_ID|value|U_PASSWORD|value|U_NOME|value
|U_COGNOME|value|U_DITTA|value|U_IVA|val
ue|U_INDIRIZZO|value|U_CAP|value|U_CITTA
|value|U_EMAIL|value"
MM_columnsStr = " U_ID|',none,''|U_PASSWORD|',none,''|U_NO
ME|',none,''|U_COGNOME|',none,''|U_DITTA
|',none,''|U_IVA|',none,''|U_INDIRIZZO|'
,none,''|U_CAP|none,none,NULL|U_CITTA|',
none,''|U_EMAIL|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
e questo è il codice della pagina di connessione (panconn.asp):
<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
MM_panconn_STRING = "dsn=panusers;uid=pan;pwd=pan2002;"
%>
ulteriore nota (se può servire): il file di connessione si trova nel folder "Connections", mentre il db si trova nel folder "database".
a naso, mi rendo conto che potrebbe essere un problema di path, ma perchè invece in locale tutto funziona?
grazie in anticipo per l'aiuto!...
metatad