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

    2 db in una stessa cartella; 1 funge, l'altro no...

    Ecco uno di quei problemi ke fanno letteralmente impazzire...
    Ho un dominio su aruba: x la verifica delle permissions mi hanno installato un db, con il relativo file di gestione. La parte ke interessa è la seguente:

    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/database.mdb")

    sql = "SELECT * FROM Nomi"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3

    if Request.Form("Nome" ) <> "" then

    rs.AddNew
    rs.Fields("Nome") = Request.Form("Nome")
    rs.Fields("Colore") = Request.Form("Colore")

    rs.update

    end if


    Questo naturalmente funziona e scrive sul db.
    Ora xò, ho la mia applicazione, ke utilizza un db sempre nella stessa cartella. Il codice delegato alla scrittura nel db è il seguente:

    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/gb.mdb")

    //inizio parte di codice sostituito
    sql = "SELECT * FROM Guestbook"
    Set RecordsetGb = Server.CreateObject("ADODB.Recordset")
    RecordsetGb.open sql, conn, 3, 3

    if request("id")=1 then
    RecordsetGb.AddNew
    RecordsetGb.Fields("user") = request.Form("nome")
    RecordsetGb.Fields("città") = request.Form("citta")
    RecordsetGb.Fields("email") = request.Form("email")
    RecordsetGb.Fields("url") = request.Form("url")
    RecordsetGb.Fields("messaggio") = request.Form("messaggio")
    RecordsetGb.Fields("data") = date + time
    RecordsetGb.Fields("ip") = Request.ServerVariables("REMOTE_ADDR")
    RecordsetGb.Update
    Response.Redirect("gb.asp")
    end if


    Vi sembra ci siano differenze? A me no, cmq quest'ultimo codice restituisce il tremendo errore...

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.


    ...che viene puntato alla riga del rs.update.

    Ora: io sto provandole tutte, naturalmente senza ottenere risultati. La cosa + bella è ke in locale, su iis, funziona tutto alla perfezione... Ke mica a qualcuno è già capitata una cosa del genere? Grassssssie...

  2. #2
    Il database è di sola lettura! Dipende o dai permessi o dal database che è in sola lettura.
    Potrebbe anche essere che il database non contiene records, eventualmente prova ad inserirne uno.
    Buona Pasqua

  3. #3
    il db è lo stesso ke uso in locale, riuppato apposta, nn è in sola lettura e contiene 2 records...

  4. #4
    L'errore che ti dà è tipico della mancanza di permessi, oltretutto:

    [Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only

    significa:

    [Microsoft][ODBC Microsoft Access Driver] non può essere aggiornato. Il Database o l'oggetto è di sola lettura.


    Cito da un elenco di errori possibili in asp:

    Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.
    Per risolvere questo problema devono essere abilitati i permessi di scrittura nella directory dove è contenuto il database Access per l'utente IUSER_<severname>.

    Quindi come vedi è un errore tipico relativo ai permessi.

  5. #5
    lo so, ma ti posso assicurare ke quelli stanno bene... nn vorrei ke fosse qualke skerzetto dei server di aruba... -.-

  6. #6
    Potrebbe essere! :master:
    Prova a sentire con loro. Anzi, prima metti il tuo database nella cartella mdb-database e poi chiedi di controllare i permessi, vedrai che sicuramente dopo ti funzionerà tutto.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.