6 messaggi dal 30 settembre 2003
Premetto che sono alle prime armi, quindi il mio problema potrebbe essere molto banale, anche se mi sta facendo perdere un sacco di tempo.
Ho creato, con dremweaver mx, una pagina per l'accesso tramite password, collegandola con un database access. Provando la pagina in locale, quindi mettendo un percorso assoluto nella connessione al database, va tutto bene; mentre i problemi nascono quando utilizzo il metodo server.MapPath per testarla on line.

L'errore che mi da è questo:
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/login.asp, line 14


Posto il codice.
login.asp ha questo:

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/Conn_utenti.asp" -->
<%
// *** Validate request to log in to this site.
var MM_LoginAction = Request.ServerVariables("URL");
if (Request.QueryString!="") MM_LoginAction += "?" + Request.QueryString;
var MM_valUsername=String(Request.Form("nome"));
if (MM_valUsername != "undefined") {
var MM_fldUserAuthorization="";
var MM_redirectLoginSuccess="accesso.asp";
var MM_redirectLoginFailed="errore.asp";
var MM_flag="ADODB.Recordset";
var MM_rsUser = Server.CreateObject(MM_flag);
MM_rsUser.ActiveConnection = MM_Conn_utenti_STRING;
MM_rsUser.Source = "SELECT Nome, Password";
if (MM_fldUserAuthorization != "") MM_rsUser.Source += "," + MM_fldUserAuthorization;
MM_rsUser.Source += " FROM Utenti WHERE Nome='" + MM_valUsername.replace(/'/g, "''") + "' AND Password='" + String(Request.Form("password")).replace(/'/g, "''") + "'";
MM_rsUser.CursorType = 0;
MM_rsUser.CursorLocation = 2;
MM_rsUser.LockType = 3;
MM_rsUser.Open();
if (!MM_rsUser.EOF || !MM_rsUser.BOF) {
// username and password match - this is a valid user
Session("MM_Username") = MM_valUsername;
if (MM_fldUserAuthorization != "") {
Session("MM_UserAuthorization") = String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value);
} else {
Session("MM_UserAuthorization") = "";
}
if (String(Request.QueryString("accessdenied")) != "undefined" && false) {
MM_redirectLoginSuccess = Request.QueryString("accessdenied");
}
MM_rsUser.Close();
Response.Redirect(MM_redirectLoginSuccess);
}
MM_rsUser.Close();
Response.Redirect(MM_redirectLoginFailed);
}
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="POST" action="<%=MM_LoginAction%>">
<table width="100%" border="0">
<tr>
<td width="23%">nome</td>
<td width="77%"><input name="nome" type="text" id="nome"></td>
</tr>
<tr>
<td>password</td>
<td><input name="password" type="text" id="password"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="entra"></td>
</tr>
</table>
</form>
</body>
</html>

mentre conn_utenti.asp, nella cartella connections, questo:

<%
// FileName="Connection_ado_conn_string.htm"
// Type="ADO"
// DesigntimeType="ADO"
// HTTP="true"
// Catalog=""
// Schema=""
var MM_Conn_utenti_STRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.Mappath("/mdb-database/utenti.mdb")
%>

Il file .mdb, è nella cartella mdb-database.
Non riesco a capire dov'è l'errore
Qualcuno può aiutarmi?
Ringrazio anticipatamente

<--- L' incompetenza si manifesta nell'uso di troppe parole, dimostrandoci nei fatti come, per dire delle verità indiscutibili, non occorrono sempre grandi discorsi! --->
30 messaggi dal 02 luglio 2003
forse perchè il file login.asp è in una cartella diversa da mdb-database...in qs caso la stringa che segue server.MapPath deve indicare il percorso completo utilizzando anche alcuni comandi DOS come .. per risalire alla supercartella

Cioè mi spiego meglio x esempio se la tua cartella sito contiene la cartella mdb-database e la cartella pagine con il file login.asp la stringa che segue Server.MapPath ha qs forma ..\mdb-database\utenti mdb

Ricordati sempre di sapere di non sapere e che ci sarà sempre qualcosa da imparare

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.