Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    IIS7 su Vista fa a pugni con Access

    Ciao a tutti,

    cercando un po nel forum ho trovato qualche post con la stessa domanda ma provando a seguire le varie risposte non riesco a risolvere il problema.
    L'errore mi viene generato da una pagina ASP che gira in IIS7 su Vista.
    Premetto che lo stesso codice su XP funziona perfettamente.

    In questa pagina accedo a un database creato con Access 2003 dichiarando la connessione in questo modo:
    ###########
    Dim dbCon, rsTab
    Dim sql

    Set dbCon = Server.CreateObject("ADODB.Connection")
    Set rsTab = Server.CreateObject("ADODB.Recordset")
    dbCon.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" & _
    "DBQ=" & Server.MapPath(Application("conStr"))
    ###########

    Dove conStr="db/db.mdb" dichiarata nella ApplicationOnStart del global.asa.
    La connessione la apro poi in questo modo:
    ###########
    dbCon.Open
    sql="SELECT * FROM Dependencies"
    rsTab.Open sql, dbCon
    rsTab.Close
    dbCon.Close
    ##########

    L'errore che mi viene restituito è:
    ##########
    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][Driver ODBC Microsoft Access] Errore di rete o disco.
    ##########

    Ho gia provato a modificare la connection string in:
    ##########
    dbCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & Server.MapPath(Application("conStr"))
    ##########

    L'errore cambia in:
    ##########
    Microsoft JET Database Engine error '80004005'

    Errore non specificato.
    ##########

    Ho controllatoi permessi sulla cartella root, sulla sottocartella contenente il file e sul file stesso è ho permesso il controllo completo al mio utente, ad Administrator, a IUSR e ad Everyone e li ho messi come comproprietari.
    Per l'utente CREATOR OWNER non ho la possibilità di modificare i permessi, cioè se seleziono una o più voci quando do Applica si deselezionano automaticamente.
    IWAM non mi compare nella lista degli utenti disponibili.

    Il file non è settato con accesso esclusivo o cose simili quindi non dovrebbero eserci problemi per quanto riguarda quello.

    Avete qualche suggerimento a parte ritornare in ambiente XP?
    Grazie mille a tutti e buone feste

    PS: aggiungo che la stessa connection string riportata in un file asp.net creato con visual studio 2008 funziona (suppongo per qualche settaggio nel file di configuazione che viene generato automaticamente).

  2. #2
    Ho fatto qualche altra prova e per completezza posto i risultati.

    Facendo una stampa del Server.MapPath il percorso che restituisce è corretto.
    Stessa cosa per la variabile Application("conStr") e di conseguenza anche per Server.MapPath(Application("conStr")).

    Modificando la variabile globale verso un percorso inesistente mi da sempre lo stesso errore su disco.

    Scrivendo il percorso manualmente l'errore rimane.

    Sempre più buio.....

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    162
    Non ho letto tutto quello che hai postato, ma ti scrivo quello che uso io testato al 100%.
    Io faccio così e funzia tutto perfettamente anche con Vista:

    codice:
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(".") & "/tuoDB.mdb"
    
    SQL=""
    SQL=SQL & "Select * from Eventi "
    SQL=SQL & "Order By [Eve_DataImm] desc"
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
    
    
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    Se continui ad aver problemi allora non è il codice ma i settaggi del IIS

  4. #4
    Niente, stesso errore sull'apertura della connessione.
    Che settaggi hai su IIS? Magari ho dimenticato qualcosa.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    162
    Mi ricordo di aver avuto molti problemi con IIS all'inizio, quando sono passato da XP a Vista, ma sinceramente x altre cause.

    La cosa che ti posso dire, è quella di controllare se:

    1) il percorso del db è corretto
    2) se dal pannello di IIS si vede la cartella del progetto.
    3) se la cartella che contiene il DB (anche quelle sopra e sotto) ha i permessi di lettura/scrittura

    quest'ultima è fondamentale.
    Mi dispiace ma al momento non mi viene in mente nient'altro.

  6. #6
    Sembrerebbe tutto a posto.
    Facendo un po di response.write il db riesco a tracciarlo in tutte le cartelle e sottocartelle.
    Ho provato a sostituire le \ con / nel percorso ma niente.
    Dalla configurazione di IIS vedo la cartella principale e tutte le sottocartelle compresa quella del db e i permessi sono settati a tutti gli utenti su tutte le cartelle e sul file, come controllo completo e come comproprietà.

    Boh rimane un mistero...
    Grazie mille comunque intanto

  7. #7
    BINGO!
    Grazie mille....anzi 1000000!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2023 vBulletin Solutions, Inc. All rights reserved.