2010-05-21 15 views
6

Ho riscontrato un problema durante l'accesso a un'unità mappata in ColdFusion. Ho \\server\files\sharing mappato a z:\. Se corro questo codice, si dice esista la directory per il percorso completo, ma non per il mappato uno:Accesso all'unità di rete connessa da ColdFusion

<cfscript> 
    fullPath = "\\server\files\sharing\reports"; 
    mappedPath = "z:\reports"; 

    WriteOutput("fullPath exists: #DirectoryExists(fullPath)#<br/>"); //YES 
    WriteOutput("mappedPath exists: #DirectoryExists(mappedPath)#"); //NO 
</cfscript> 

Ho fatto qualche usare Google e ho trovato alcune persone con lo stesso problema, ma la soluzione è sempre stato usare il percorso completo. C'è una ragione per cui ColdFusion non sarebbe in grado di vedere o accedere all'unità mappata? E se è così, ci sono soluzioni alternative (forse una chiamata di sistema per ottenere il percorso completo dell'unità mappata)?

+0

Quale utente è in esecuzione il servizio ColdFusion? – ale

+0

@AlEverett: è in esecuzione come servizio di sistema. task manager lo mostra come "SYSTEM" – Kip

+2

Questo è probabilmente il problema. Praticamente tutti i problemi che ho mai avuto con CF e l'accesso alle unità è perché "SYSTEM" ha un accesso molto limitato alle risorse di guida. È necessario averlo eseguito come utente che ha accesso a tale unità/directory. – ale

risposta

5

Il motivo per cui ColdFusion non ha accesso all'unità mappata è perché viene eseguito come servizio in Windows.

Un servizio (o qualsiasi processo che è in esecuzione in un diverso contesto di protezione ) che deve accedere a una risorsa remota deve utilizzare il Naming Convention (UNC) nome universale per l'accesso risorsa.

che è stato tirato dal seguente articolo della knowledge base: http://support.microsoft.com/kb/180362

Si può essere in grado di cambiare il servizio per l'esecuzione come un singolo utente che ha le unità mappate (non ho controllato se quel funziona, ma potrebbe), ma dovresti utilizzare il percorso UNC anziché l'unità mappata.

Problemi correlati