Newsgroup: it.comp.www.asp
Titolo: ADO per accedere al file-system

Qualcuno ha mai utilizzato i metodi ado per accedere al file-system?
L'esempio di seguito restituisce un recordset contenente i file e le
cartelle di una dir.
Dim grec As Record
Dim grs As Recordset
Set grec = New Record
Set grs = New Recordset
grec.Open "", "URL=
http://167.111.111.118/
", , _
    adFailIfNotExists, , "Administrator", "password"
Set grs = grec.GetChildren
While Not grs.EOF
    A = grs(0) & "  -  " & grs(1) & "  -  " & grs(2) & "  -  " & grs(3) &
  -  " & grs(4)
    Debug.Print A
    grs.MoveNext
Wend
grs.Close
grec.Close
Oppure..
grs.Open "samples/images", "URL=
http://167.111.111.118/
", , ,
adCmdTableDirect
While Not grs.EOF
    A = grs(0) & "  -  " & grs(1) & "  -  " & grs(2) & "  -  " & grs(3) &
  -  " & grs(4)
    Debug.Print A
    grs.MoveNext
Wend
grs.Close
Le domande sono due:
1 - vorrei recuperare anche la data di creazione e la dimensione dei file.
2 - riesco ad accedere solo ai file contenuti in wwwroot, e non ai file
contenuti nelle directory virtuali, perche'?
Ciao a tutti.
--
/||||||||||||||||||||||||||||||||||||||||||||||||\
               Kjo
\||||||||||||||||||||||||||||||||||||||||||||||||/


Moderatore di it.comp.www.asp
Sito di supporto: 
http://www.aspitalia.com/newsgroup/
La piu' grande community italiana di sviluppatori!

Qualche idea, vorrei poter usare i metodi tipo copyTo (ADO 2.5), per gestire
l'aggiornamento dei miei prog.
Mi sembra molto meglio di un controllo ftp perchè vede da solo il tipo di
connessione esistente e la usa correttamente. (Proxy, router, modem)
Idee???
Ciao.


 connessione esistente e la usa correttamente. (Proxy, router, modem)
non saprei, io continuo a preferire le cose classiche (FPT) non foss'altro
perchh webdav mi pare che abbia q.che problemuccio.


 perchh webdav mi pare che abbia q.che problemuccio.
Sono abbastanza daccordo, ma solo fino a quando il salto di qualità non vale
la candela.
Oltre agli enormi vantaggi per l'identificazione della connessione (le mie
applicazioni spesso vengono installate direttamente da utenti finali
assolutamente inesperti), immagina la semplicità
di gestione di un upload differenziale di cartelle fatto solo con query SQL
(Join, group by ecc.)
Ciao
Kjo

 (Join, group by ecc.)
tutto cose che con un component FTP ed un po' di logica, puoi fare
ugualmente, con un grado di sicurezza maggiore (se implementi un sistema di
sicurezza basato su IP, per esempio).


>>>> "DB" == Daniele Bochicchio [MOD icwa] <Daniele> writes:
DB> ugualmente, con  un grado di sicurezza maggiore  (se implementi un
DB> sistema di sicurezza basato su IP, per esempio).
Daniele :), usare  gli IP non è molto sicuro,  oltre allo spoofing c'è
anche questo caso :
                           ----------Macchina utente autorizzato    (A)
                          /
[Server]------------[NAT]<-----------Macchina utente autorizzato    (B)
                          \    
                           ========Macchina cui vietare l'accesso (BAD)
Ora se  le (A)  e (B) vengono  nattate con  IP diversi da  (BAD), nema
problema.
Ma se sei nel caso di quelle organizzazioni a cui hanno dato un classe
D con 8  IP, è molto probabile che tutti  vengano nattati sullo stesso
IP.
Pienamente d'accordo che è meglio usare FTP (se non c'è un ocx per SCP)
rispetto a ADO (nice hack, ma penso sia terribile come efficenza), ma
usare gli IP per autenticarsi è debole come mossa.
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )

> a ADO (nice hack, ma penso sia terribile come efficenza)
-restituisce un recordser con tutti i file di una dir. (inclusi dettagli)
grec.Open "", "URL=
http://222.222.222.222/Articoli
", , _
    adFailIfNotExists, , "admin", "admin"
Set grsArticoli = grec.GetChildren
-esegue il download di un file.
TempStream.Open "URL=
http://222.222.222.222/Articoli/
" & "ART1.jpg"), , ,
"admin", "admin"
TempStream.Type = adTypeBinary
TempStream.SaveToFile APPPuntoPath & "\Articoli/" & "ART1.jpg")
TempStream.Close
- se ne frega se sono connesso via proxy, router, modem o altro.
- esegue il tutto piu' velocemente di un controllo INET.
- il codice e' estremamente piu' chiaro, semplice e OO
Cosa ne dite?
Ciao

 writes:
K> - il codice e' estremamente piu' chiaro, semplice e OO
Niente in VB/VBA è OO. Ci si limita ai componenti.
K> Cosa ne dite?
Che  ho  sempre dubbi  sull'efficenza  della  trasmissione, sulla  sua
robustezza (i.e. che  timeout c'è ?) e similia. Non  sempre una roba è
buona solo perché è nuova...
