Newsgroup: it.comp.www.asp
Titolo: connessione

Ciao a tutti
Sono uno dei tanti che le ASP gli fan venire il mal di testa e continuamente
chedono info sul loro funzionamento. Questa volta non è però un problema
vero e proprio ma sono in cerca di un consiglio.
Dovendo gestire una connessione su diverse pagine di un sito, mi trovo a
dover cambiare i dati dal computer locale a quando li carico sul server,
esiste una connessione sicura che non mi faccia tutte le volte fare sta
trafile? Vi scrivo di seguito quelle che uso in entrambe i casi.
Ciao e grazie mille
            Cele
--------------------------CONNESSIONE LOCALE--------------------------------
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open"driver={Microsoft Access Driver (*.mdb)};
dbq=c:/inetpub/wwwroot/database/associazioni.mdb"
%>
---------------------------CONNESSIONE SERVER-------------------------------
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open"driver={Microsoft Access Driver (*.mdb)}; dbq=" &
server.MapPath("/database/associazioni.mdb")
%>

trafile? Vi scrivo di seguito quelle che uso in entrambe i casi.
quello che a te serve non e' una "connessione sicura", e' un codice
che se si accorge di stare sul server esegue una connessione asp con
certi parametri (in particolare il percorso del db) e se si accorge di
non stare sul server la esegue con altri.
a dire il vero quello che ho detto non e' del tutto corretto.  una
connessione asp avviene *sempre* su un server, bisogna vedere su
*quale* server avviene.
ad esempio, quando sviluppi codice lo farai per mezzo del server
locale che avrai installato sul tuo pc (pws o simili).  l'IP di questo
server tipicamente e' 127.0.0.1.
quindi dovresti controllare una cosa del genere: mi trovo sul server
"locale"?  ok, setto la connessione con questi parametri.  no?  allora
probabilmente mi trovo sul server "vero" e devo settarla con questi
altri.
per sapere l'indirizzo ip del server su cui ti trovi usi l'istruzione:
request.servervariables("SERVER_NAME")
ti faccio un esempio con un paio di routine che mi sono scritto allo
stesso scopo.  sul pc sul quale sviluppo i file si trovano sul disco
c:, sul server che sta on line si trovano sul disco d:
<%
dim cn
set cn = server.createobject("adodb.connection")
if request.servervariables("SERVER_NAME") = "127.0.0.1" then
   ' mi trovo sul server "di sviluppo"
   ApriConnessione cnOS, "c:/percorso/", "NomeFile.mdb"
else
   ' mi trovo sul server "vero"
   ApriConnessione cnOS, "d:/altropercorso/", "NomeFile.mdb"
end if
%>
ApriConnessione e' una sub che mi sono scritto per unificare il modo
con cui creo una connessione, visto che la richiamo da decine di file
diversi, e se devo cambiare qualcosa lo cambio solo li' (ad esempio,
ho fatto una prova passando da db access a db mysql, ed e' stato tutto
abbastanza immediato, e' bastato cambiare solo ApriConnessione).
certo, la devo includere in tutti i file e quindi alcuni puristi
storcerebbero il naso di fronte a questo presunto rallentamento, ma
vuoi mettere la praticita'.
<%
sub ApriConnessione(Connessione, DirFisica, Database)
dim sConn
 
' mi tengo pronta un'eventuale stringa di debug,
' che non si sa mai...
' response.write DirFisica & Database
' compongo la stringa di connessione in modo di poterla 
' visualizzare ben impaginata su schermo, se serve.
sConn = "DRIVER={Microsoft Access Driver (*.mdb)};"     & vbcrlf & _
        "PageTimeout=0;"                                & vbcrlf & _
        "FIL=MS Access;"                                & vbcrlf & _
[cut]
        "DefaultDir=" & DirFisica & ";"                 & vbcrlf & _
        "DBQ=" & DirFisica & Database                   & vbcrlf & _
        ""
	Connessione.open sConn
end sub
%>
in generale puoi usare questo metodo anche quando vuoi bypassare certe
operazioni che possono essere eseguite solo sul server "vero" e non su
quello di sviluppo, come ad es. mandare email e simili.