Newsgroup: it.comp.appl.macromedia
Titolo: [UD4] Virtual directory e problemi di connessione al DB

Premetto di essere alle prime armi, quindi mi sono armato di buona pazienza,
di UltraDev4, del suo bel manuale  e ho cominciato a pasticciare un pò con
il tutorial.
Il tutorial in oggetto crea una connessione al db tramite DSN e fin qui
tutto è ok, ma poichè molti hosting non consentono tale connessione, ho
cominciato a vedere per creare una connessione senza DSN tramite
Server.MapPath
Il tutorial di UD4 crea quindi una copia in c:\inetpub\wwwroot\ e fin qui
tutto ok.
Procedo con la creazione della stringa di connessione "Driver={Microsoft
Access Driver (*.mdb)};DBQ="& Server.MapPath("../mdb-database/db1.mdb")
specificando di utilizzare il driver sul server applicazioni.
Fin qui tutto funziona, sia il test della connessione sia poi i recordset
all'interno delle pagine ASP
Bene.
Ora volendo creare una pagina di upload file, ho installato l'extension
Pure ASP File Upload, ho seguito le istruzioni creando, questa volta, una
Virtual Directory in IIS (seguendo le istruzioni...ecc ecc), creo la
connessione al db
"Driver={Microsoft Access Driver (*.mdb)};DBQ="&
Server.MapPath("../mdb-database/db1.mdb") e la prova di UD4 funziona.
Vado sul sito e ottengo l'errore:
Microsoft OLE DB Provider for ODBC Driver (0x80004005)
[Microsoft] [Driver ODBC Microsoft Access] "(sconosciuto)"
non è un percorso valido. Assicurarsi che il nome del percorso
sia corretto e di essere collegati al server in cui si trova il file.
/provasito/uploadOK.asp, line 5
Correggo (a mano)
"Driver={Microsoft Access Driver (*.mdb)};DBQ="&
Server.MapPath("../costruzionesito/mdb-database/db1.mdb") e sul browser
funziona, UD4 invece dice che ci sono errori nella connessione.
Com'è possibile?
Se passo tutta la directory in c:\inetpub\wwwroot\, quando tento di fare
l'upload di un file, mi dice che non è possibile inviare il file, la
directory non esiste oppure non ha i diritti di scrittura (SO WinXP
Professional con IIS 5.1), copio la stessa identica directory in
c:\inetpub\wwwroot\ in un pc con Win2000 professional + IIS 5.0 e tutto
funziona regolarmente (parlo dell'upload, non dell'inserimento dei dati nel
db che devo ancora affrontare una volta sistemate le connessioni).
Avete spiegazioni in merito?
Grazie a tutti in anticipo.
LukeNukem

 specificando di utilizzare il driver sul server applicazioni.
[cut]
Parte il fatto che tutto il giro delle cose non mi è chiaro per niente, 
non capisco perchè usare il MapPath.
Dagli il percorso intero e finita lì no?
Io ho sempre avuto problemi con UD e MapPath (non nel funzionamento del 
sito, ma proprio dentro le query che UD fa per sè, per provare le 
connessioni).
Solitamente, essendo in hosting, io faccio un MapPath per trovare, 
appunto, il percorso del db e poi quello incollo nella stringa di 
connessione. C'è il problema che in locale il path è diverso, ma tanto la 
pagina da include contenente la stringa la carichi sul server una volta 
sola no? Poi la cambi per il locale e via.

 sola no? Poi la cambi per il locale e via.
Il MapPath sarei costretto ad usarlo dato dal fatto che chi mi fa hosting
non accetta connessioni DSN.
Comunque ho capito che mentre si "progetta" in UD si utilizza la sua
connessione "locale" poi si cambia la stringa di connessione sulla pagina da
includere.
Grazie 1000
LukeNukem

 non accetta connessioni DSN.
Non è necessario il DSN!
Il MapPath traccia il path, che tu al momento non conosci. Ma il path 
sarà sempre quello nel tempo.
Dunque, io faccio così:
A) faccio una paginettina prova.asp dentro alla quale 
Response.Write(Server.MapPath....).
B) Browso la pagina sul server, e dunque mi copio il path
C) Incollo il path nello script di connessione.
