Conviene passare in sessione una variabile db ?

erlupacchiotto

Nuovo Utente
5 Gen 2004
23
0
0
52
Roma
www.erlupacchiotto.com
Sono riuscito a realizzare un paio di pagine di prova, pare che sia piu' conveniente, visto che mi risparmio ogni volta che apro una pagina di dover aprire il database.

Mi pongo pero' il problema se ci sia un limite di grandezza per le variabili di sessione, se queste dipendono da computer a computer, ecc. Il db e' di circa 12 Mb.

Pero' finora ho fatto prove solo in locale, prima di convertire l'intero sito, avrei bisogno di qualche suggerimento se convenga o meno questo tipo di soluzione
grazie anticipatamente,
 
scusami, mi spiego meglio

l'oggetto DB conviene metterlo in sessione ?
Codice:
  Set DB = Server.CreateObject("ADODB.Connection")
  szAppo= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
  szAppo= szAppo & server.mappath("/mdb-database/articoli3.mdb;Persist Security Info=False")
  DB.ConnectionString  = szAppo
  DB.Open
  Set session("DB") = DB
 
Non mi piace molto come soluzione...

Per alcuni siti io ho inserito la stringa di connessione nel Global.asa in una Session, ma quel che preferisco è creare un file di configurazione, ad esempio db.asp in cui inserisco

<%
' stringa di connessione in una variabile
' dichiarazione degli oggetti per il database
%>

Meglio andarci cauti...
 
Ciao!
rispolvero questo vecchio post perchè ho un problema con l'oggetto session,
ho una pagina di login per clienti di un sito tipo questa:

<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form" method="post" action="verifica.asp">
<p>
<input type="text" name="nome_inserito">
nome</p>
<p>
<input type="text" name="cognome_inserito">
cognome </p>
<p>
<input type="submit" value="Entra">
</p>
</form>
</body>
</html>



il form spedisce le variabili alla pagina verifica.asp:

<%@LANGUAGE = JScript%>
<!--#include file="connessione.asp"-->
<%
var nome_ut = Request.querystring("nome_inserito");
var cognome_ut = Request.querystring("cognome_inserito");

var Rs = new ActiveXObject("ADODB.Recordset");
Rs.Open("SELECT * FROM tbl_clienti WHERE nome = '" + nome_ut + "' AND cognome = '" + cognome_ut + "'", Cn, 1);



if (Rs("nome") == nome_ut && Rs("cognome") == cognome_ut)
{
Session("id_utente") = Rs("ID_cliente");
Response.write("sessione ok!");
}
else
{

Response.write("sessione fallita!");
}


%>


ora questa pagina è solo di prova perchè voglio solo vedere se funziona, la risposta è che viene sempre stampato "sessione fallita!"...nella tabella tbl_clienti del database access ho inserito (sempre per prova) tre nomi fittizi, ma anche se inserisco il nome e il cognome giusti la sessione risulta sempre fallita, sono alle prime armi con questo oggetto ma mi sembra che sia molto buono per la gestione degli utenti di un sito...

Ditemi dove sbaglio...

Grazie a tutti per la pazienza....

Ciao :)
 
ho risolto!! ma....

era sbagliato il file verifica.asp

così funziona:

<%@LANGUAGE = JScript%>
<!--#include file="connessione.asp"-->
<%
var nome_ut = Request.Form("nome_inserito");
var cognome_ut = Request.Form("cognome_inserito");

var Rs = new ActiveXObject("ADODB.Recordset");
Rs.Open("SELECT * FROM tbl_clienti WHERE nome = '" + nome_ut + "' AND cognome = '" + cognome_ut + "'", Cn, 1);



if (!Rs.EOF)
{
Session("id_utente") = Rs("ID_cliente");
Response.Redirect("index.asp");
}
else
{

Response.Write("nome o cognome non validi...");
}


%>


però se richiamo la variabile session sulla pagina successiva (index.asp) mi da questo errore:

ADODB.Field error '80020009'

Object is no longer valid.

/carrello/index.asp, line 39
 

Discussioni simili