Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it L'avatar di Sonix
    Registrato dal
    Feb 2001
    Messaggi
    111

    access poco accessibile

    Ho installato IIS sul mio pc (win2000 - service pack 4) e sto provando uno script che funziona benissimo su uno spazio online. Invece in locale, quando cerco di aggiornare il database (access 2000), l'erroe che mi da è:


    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
    [Microsoft][Driver ODBC Microsoft Access] Per l'operazione è necessaria una query aggiornabile.
    /update.asp, line 35


    Ho provato a dare tutti i permessi all'amminitratore (io) ma niente da fare. Perchè?
    Nel bel mezzo del cammin del mio script mi ritrovai in una selva oscura che la diritta via era smarrita...

  2. #2
    devi dare i permessi di scrittura sulla cartella dove sta il DB all'utente IUSR_nomepc
    [supersaibal] How is it you're feeling so uneasy?
    How is it that I feel fine?
    Life reveals what is dealt through seasons
    Circle comes around each time
    [/supersaibal]

  3. #3
    Utente di HTML.it L'avatar di Sonix
    Registrato dal
    Feb 2001
    Messaggi
    111
    gia provato, ma non funziona lo stesso
    Nel bel mezzo del cammin del mio script mi ritrovai in una selva oscura che la diritta via era smarrita...

  4. #4
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    Originariamente inviato da Sonix
    gia provato, ma non funziona lo stesso
    devi cambiare i parametri quando apri il recordset

    rs.open CONN,SQL,XXXXXXXXXXXXXXXXXXXXXX,YYYYYYYYYYYYYYYYYY YYY


    oltre ai permessi in scrittura all'utente IUSR (se anonimo)
    altrimenti a ogni singolo utente...se usi la windows authentication

  5. #5
    Utente di HTML.it L'avatar di Sonix
    Registrato dal
    Feb 2001
    Messaggi
    111
    per spiegare meglio cosa succede vi posto l'errore che mi da quando cerco di uplodare il database (la connessione invece riesce)

    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
    [Microsoft][Driver ODBC Microsoft Access] Per l'operazione è necessaria una query aggiornabile.
    /update.asp, line 35

    In update.asp la riga 35 corrisponde a :

    MyConn.Execute(SQL)
    Nel bel mezzo del cammin del mio script mi ritrovai in una selva oscura che la diritta via era smarrita...

  6. #6
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    dovresti postare il codice e la query
    altrimenti come facciamo a dirti dove hai sbagliato a fare il codice?

  7. #7
    Utente di HTML.it L'avatar di Sonix
    Registrato dal
    Feb 2001
    Messaggi
    111
    Attraverso il file config.inc mi connetto al database:

    <%
    Set MyConn=Server.CreateObject("ADODB.Connection")
    MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("Login.mdb")

    Sub CleanUp(RS)
    RS.Close
    MyConn.Close
    Set RS = Nothing
    Set MyConn = Nothing
    End Sub

    Sub CleanUp2()
    Conn.Close
    Set MyConn = Nothing
    End Sub
    %>

    e attraverso il file update.asp effettuo l'upload del database:

    <%@Language=VBScript%>
    <%Response.Buffer = True%>


    <%
    Dim Method
    Method = Request.QueryString("method")

    Select Case Method
    Case "Add"
    Add(MyConn)
    Case "Edit"
    Edit(MyConn)
    Case "Delete"
    Delete(MyConn)
    End Select

    Sub Add(MyConn)

    Dim UserName, PassWord, Level, ExpDate, SQL

    UserName = Replace(Trim(Request.Form("username")), "'", "''")
    PassWord = Replace(Trim(Request.Form("password")), "'", "''")
    Level = Trim(Request.Form("level"))
    ExpDate = Trim(Request.Form("expdate"))

    If UserName = "" Or PassWord = "" Or Level = "" Or ExpDate = "" Then Response.Redirect "admin.asp"

    SQL = "Insert Into Login (UserName, [PassWord], Clearance, ExpireDate) Values('"&UserName&"', '"&PassWord&"', '"&Level&"', '"&ExpDate&"')"

    MyConn.Execute(SQL)

    Response.Redirect "admin.asp"

    CleanUp2()

    End Sub

    Sub Edit(MyConn)

    Dim id, username, password, level, expdate

    id = CInt(Request.Form("id"))
    username = Replace(Request.Form("username"), "'", "''")
    password = Replace(Request.Form("password"), "'", "''")
    level = CInt(Request.Form("level"))
    expdate = Request.Form("expdate")

    SQL = "Update Login Set UserName = '"&username&"', [PassWord] = '"&password&"'"
    SQL = SQL & ", Clearance = "&level&", ExpireDate = '"&expdate&"' Where ID = "&id&""

    Set RS = MyConn.Execute(SQL)

    Response.Redirect "admin.asp"

    CleanUp2()

    End Sub

    Sub Delete(MyConn)

    Dim id, SQL

    id = CInt(Request.Form("id"))

    SQL = "Delete * From Login Where ID = "&id&""
    MyConn.Execute(SQL)

    Response.Redirect "admin.asp"

    CleanUp2()

    End Sub
    %>

    Ovviamente entro nell'area admin grazie al permesso definito nel file level4.inc
    Nel bel mezzo del cammin del mio script mi ritrovai in una selva oscura che la diritta via era smarrita...

  8. #8
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    LOGIN e' una query
    o e' una tabella?

    se e' una tabella...quali sono le chiavi primarie ?

  9. #9
    Utente di HTML.it L'avatar di Sonix
    Registrato dal
    Feb 2001
    Messaggi
    111
    è una tabella, ma se devo dirti quali sono le chiavi primarie non lo so, access mi ha solo 'chiesto' se volevo inserirle e gli ho dato l'ok. Se è riferito alla stringa contatore è l'ID, ma altro non so
    Nel bel mezzo del cammin del mio script mi ritrovai in una selva oscura che la diritta via era smarrita...

  10. #10
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    Originariamente inviato da Sonix
    è una tabella, ma se devo dirti quali sono le chiavi primarie non lo so, access mi ha solo 'chiesto' se volevo inserirle e gli ho dato l'ok. Se è riferito alla stringa contatore è l'ID, ma altro non so
    appunto!

    la chiave (o le chiavi) sono quei campi che permettono di identificare UNIVOCAMENTE un RECORD

    come fai a fare operazioni di update su un record....
    quando non lo richiami con la chiave??

    controlla bene questa parte!! punto 1)

    dopo questo
    ricontrolla che l'utente IUSR_nomePC abbia i permessi giusti sul DB (R/Write) PUNTO 2)

    e...

    PUNTO 3)...
    metti delle
    response.write SQL PRIMA di fare la query di update/inser/delete...
    cosi' le visualizzi..
    le copi negli appunti.. e le provi direttamente in ACCESS

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.