AIUTOOOOO Connessione DB in rete asp 2.0

mercoledì 16 luglio 2008 - 11.20

giucorn Profilo | Junior Member

Per carità, Vi prego di aiutarmi...
Una cosa (penso banale) per chi ci lavora da tempo (io sono un novellino).
Ho creato una pagina ASPx (banale) che utilizza un collegamento OleDb che punta ad un file .mdb di Access.
Se il file .mdb si trova su pc locale, tutto funziona a meraviglia.
Se punto ad un file che risiede su un server di dominio la cosa si complica:

"Il modulo di gestione di database Microsoft Jet non è in grado di aprire il file
'\\PC-DATI\Cartelle_di_Prova\prova.mdb'. Il file è già aperto con accesso esclusivo da un altro utente o
è necessario disporre dell'autorizzazione per visualizzare i dati.

Ho un PC Windows XP Professional con IIS installato, il pc su cui risiede il Db e un Win 2000 Prof SP4.
Lapplicazione web asp 20.0

Grazie in anticipo...

Dainesi Profilo | Senior Member

Verifica che il file non sia stato impostato in sola lettura e, sopratutto, che la tua applicazione abbia i privilegi di lettura e modifica.

giucorn Profilo | Junior Member

Purtroppo, come ho detto prima sono un pò novellino. Non so dove mettere mani.
Come prima cosa ho inserito autorizzazioni alla cartella condivisa ma nulla.
La situazione particolare è che lo stesso mdb inserito in una cartella condivisa del pc dove risiede l'applicazione web funziona. Dato che il DB è in un'altro PC-DATI mi serve accedere dalla rete.

sankyu Profilo | Senior Member

Ciao
usando win xp pro usi iis 5 quindi mi pare che asp.net giri con account ASPNET quindi dovresti dare a questo le proprietà di scrittura e lettura sulla cartella condivisa.
comunque dal tipo di errore che ti da mi pare che tu abbia già i permessi. mi pare che il problema è che ci siano già altri utenti sul database
dovresti guardare da access come è configurato il db e se puoi posta la connection string che stai usando

giucorn Profilo | Junior Member

Io ho abilitato sul PC-DATI, che ha windows 2000 Pro, l'utente ASPNET come account amministratore.
L'errore ancore permane.

La stringa di connessione è la seguente:
Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\PC-dati\Cartella_Prova\Prova.mdb;Jet OLEDB:Database Password=prova_pw"

Ho modificato anche l'account ASPNET sul mio pc-web, dove ga Users lo modificato ad administrators, ma nulla!!!

sankyu Profilo | Senior Member

per curiosità hai provato ad accedere al database creando un dsn da windows e facendo il test della connessione? se cosi funziona usa il dsn che hai creato per connetterti
anche se non è la soluzione definitiva almeno ci fa capire se è un problema di permessi di cartelle oppure è un problema di permessi di database.

prova anche a dare all'utente Everyone il controllo completo sulla cartella che contiene il database in modo da capire il problema e dimmi se così funziona

giucorn Profilo | Junior Member

<<per curiosità hai provato ad accedere al database creando un dsn da windows e facendo il test della connessione? se cosi funziona usa il dsn che hai creato per connetterti>>
Ho creato il dsn di sistema linkando il DB dal progetto funziona tutto bene. pubblicato il sito mi da il seguente errore:
"ERROR [HY024] [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.
ERROR [IM006] [Microsoft][Driver Manager ODBC] Funzione SQLSetConnectAttr del driver non riuscita.
ERROR [HY024] [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.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack. "

<<prova anche a dare all'utente Everyone il controllo completo sulla cartella che contiene il database in modo da capire il problema e dimmi se così funziona>>
Ho anche dato il controllo completo all'utente everyone ma nulla....

Ho provato a far eseguire un bat dalla rete e mi da IL SEGUENTE ERRORE: Errore durante l'accesso: nome utente sconosciuto o password non valida.

"Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.IO.IOException: Errore durante l'accesso: nome utente sconosciuto o password non valida."

Che devo fare!!!!

sankyu Profilo | Senior Member

se con il dns funziona è un problema di permessi tranne che se hai dato a tutti la possibilità di accedere e modificare il file mi sembra davvero strano, mi rileggo un po come funzionano i db access e se mi viene in mente altro ti faccio sapere

giucorn Profilo | Junior Member

Grazie tante, non so che fare più le sto provando tutte. Sicuramente sarà qualche cosa di permessi alla cartella condivisa perchè non mi fa aprire neanche un file .bat dando come errore
"Errore durante l'accesso: nome utente sconosciuto o password non valida."

Io per accedere al PC-DATI dovevo inserire Nome utente e Password, ma questo è stato memorizzato, quindo non lo devo inserire più. Può essere legato a questo?

Dainesi Profilo | Senior Member

E' più acile che sia un problema legato al firewall dell'antivirus. Isolati da Internet, prova a disattivare l'antivirus e tenta. Se riesci significa che devi aggiungere o modificare una regola di firewal nel tuo antivirus.

Chiaramente fai questo sia dal tuo PC che dal Server dei dati.

giucorn Profilo | Junior Member

Non dispongo di nessun antivirus e disabilitato anche il firewall di windows.

giucorn Profilo | Junior Member

EVVIVA!!!!, Ho risolto.
La risposta è al seguente indirizzo:
http://support.microsoft.com/default.aspx?scid=kb;en-us;307901&Product=aspnet

Dainesi Profilo | Senior Member

Sono contento tu abbia risolto però te lo avevamo detto alcuni post fa

Verifica che ... la tua applicazione abbia i privilegi li lettura e modifica.

giucorn Profilo | Junior Member

si ma il problema non era nei privilegi, per far si che funziona oltre ai privilegi bisogna cambiare l'account del IIS. Con quello di default non permette di fare nulla.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5