Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: scrittura database

  1. #1

    scrittura database

    ciao
    ho un problema con la scrittura di un database access
    il server mi da il seguente errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

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

    non si tratta di problemi di permessi ed inoltre non mi funziona neanche in locale con IIS
    il database ho controllato non è di sola lettura

    qualcuno può darmi qualche consiglio
    grazie

  2. #2
    Eppure a me sembra proprio un problema di permessi. La cartella che contiene il database, ha i permessi?

  3. #3
    attenzione che l'utente che deve avere i permessi deve essere IUSR_nomemacchina....

  4. #4
    si la cartella ha i permessi

    che significa che l'utente che deve avere i permessi deve essere IUSR_nomemacchina?

    scusate ma non sono un grande esperto

  5. #5
    guarda nei permessi della cartella. c'è un utente IUSR_nomemacchina?

  6. #6
    Utente di HTML.it L'avatar di jhonny
    Registrato dal
    May 2001
    Messaggi
    130
    tasto destro sulla cartella ke contiene il database..condivisione web...

    se usi il metodo rs.addnew ti consiglio di cambiare con INSERT TO
    "Non cercare di piegare il cucchiaio ma cerca di fare la cosa più saggia.....
    ...pensa che il cucchiaio non esiste,allora vedrai che è la tua MENTE a piegarsi"

  7. #7
    <%@LANGUAGE = JScript%>
    <%
    var nome = new String(Request.Form("nome"));
    var email = new String(Request.Form("email"));
    var titolo = new String(Request.Form("titolo"));
    var messaggio = new String(Request.Form("messaggio"));

    var data = new Date();
    var modificato = data.getDate() + "/" + (data.getMonth() + 1) + "/" + data.getYear() + " " + data.getHours() + "." + data.getMinutes() + "." + data.getSeconds();

    if ((nome == "") || (nome == "undefined") || (nome.charAt(0) == " "))
    {
    Response.Redirect("errore.asp?id=1");
    }
    if ((titolo == "") || (titolo == "undefined") || (titolo.charAt(0) == " "))
    {
    Response.Redirect("errore.asp?id=2");
    }
    if ((messaggio == "") || (messaggio == "undefined") || (messaggio.charAt(0) == " "))
    {
    Response.Redirect("errore.asp?id=3");
    }

    var Cn = new ActiveXObject("ADODB.Connection");
    var Rs = new ActiveXObject("ADODB.Recordset");

    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("forum.mdb"));

    Rs.Open("messaggi",Cn,3,3);

    Rs.AddNew();
    Rs("nome") = nome;
    Rs("email") = email;
    Rs("titolo") = titolo;
    Rs("messaggio") = messaggio;
    Rs("risposte") = 0;
    Rs("modificato") = modificato;
    Rs.Update();

    Rs.Close();

    Response.Redirect("index.asp");

    Cn.Close();
    %>


    questo è il codice, mi da errore alla riga38 Rs.Update();

  8. #8
    Lo script da te postato non ha niente che non vada. Sei sicuro di avere i campi nel database corrispondenti a quelli dei Rs inviati?

  9. #9
    si, la cosa che non capisco è che questo script un anno fa funzionava, ora mi da errore.

    devo impostare qualcosa di particolare nel file access? sul server utilizzo la cartella public in cui mi hanno garantito di avere i permessi di scrittura( ripeto un anno fa funzionava!) ed inoltre non funziona nemmeno in locale con IIS!

  10. #10
    Capita spesso che le cartelle con i permessi li perdano. Il database comunque non va messo nella cartella public ma in una cartella apposita che di solito si chiama mdb-database. Tenendolo nella cartella public chiunque conoscendone il nome può scaricarlo.
    Comunque io ho provato lo script che tu hai postato e posso garantirti che funziona perfettamente.

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