49 messaggi dal 07 agosto 2002
Ciao a tutti!

Dovrei utilizzare le Bind Variables, ma in asp non capisco come valorizzare la variabile.

In una pagina asp scrivo:
S="SELECT * FROM Tabella WHERE campo='"+valore+"'"
e passo la query così:
rs = cnnGeneral.Execute(S,,adCmdText)

Adesso vorrei scrivere qualcosa del tipo:
S= "SELECT * FROM Tabella WHERE campo=:1 "

Ma come ca...spita assegno il valore alla bind variable prima di mandarla in esecuzione?

Grazie e ciao
20 messaggi dal 06 settembre 2002
S="SELECT * FROM Tabella WHERE campo='" & valore & "'"
Set rs = cnnGeneral.Execute(s)
49 messaggi dal 07 agosto 2002
Ti ringrazio,
ma quello che hai scritto tu è uguale a quello che ho scritto io.
Una vola processata la riga da asp, e valorizzata la variabile, in entrambi i casi al server arriva la stringa
"SELECT * FROM Tabella WHERE campo='PIPPO'".
Quando processi nuovamente la riga con un nuovo valore, al server arriva una stringa che per lui è completamente diversa dalla prima, e quindi il processo di decodifica e planning della query riinizia da capo.

Con le BIND VARIABLES, invece, il server decodifica e fa il plan UNA VOLTA SOLA della query "SELECT * FROM Tabella WHERE Campo=:BindVariable".
Quando mandi al server la query, valorizzando (è questo che non so fare) BindVariable, lui salta tutta la prima fase, quindi:
1) occupa meno memoria del server;
2) velocizza l'esecuzione della query.
Il PL/SQL utilizza le Bind Variables in modo implicito.

Anche a me sembrava poca cosa, ma quando il server ha iniziato a segnalare il messaggio "Unable to allocate tot byte of memory in the shared pool" ho letto sul manuale della oracle che il problema si risolve con l'utilizzo delle Bind Variables.


Per cui la domanda è sempre quella: (fai merenda con girella? NO!)
Come si usano in asp le BIND VARIABLES?

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.