IcedDEVIL: Daten in Datenbank schreiben

hallo zusammen,

ich bekomme beim rückschreiben von daten aus einem formular folgenden fehler:

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

ich seh aber keinen fehler.woran könnte es liegen

source:
<%
dat_von=Request.form("von")

DSN_Name="ACCESS-TABELLE"

Set Connection = Server.CreateObject("ADODB.Connection")
 Set doit = Server.CreateObject("ADODB.RecordSet")
 Connection.Open "DSN="&DSN_Name&""
SQLStmt=" INSERT INTO test  VALUES  ('"+dat_von+"');"
Set doit = Connection.Execute(SQLStmt)
 Connection.Close
%>

  1. Hi, hallo

    NTFS-Dateisystem?

    Dann hat der Benutzeraccount des IIS - der "anonyme Internetbenutzer" - keine Schreibrechte auf den Ordner der Datenbank

    bzw. allgemein die Datenbankdatei (MS Access) ist schreibgeschützt.

    Tipps noch:

    • wenn dein System OLE-DB anbietet, dann nutze es, ODBC ist ein unnötiger Zwischenschritt
    • es gibt SQL-Queries, die Daten oder Skalare zurückbekommen (SELECT) und welche, die nichts zurückbekommen (INSERT,UPDATE,DELETE) .... für die Ausführung letzterer brauchst du nicht erst ein Recordset-Objekt zu instanzieren:

    Set doit = Connection.Execute(SQLStmt)

    connection.execute SQLStmt

    würde genügen.

    • bitte nicht für jede Aktion eine DB Verbidnung aufmachen und wieder schlíeßen .. aperformant ... das öffnen dauert verhältnismäßig lang

    Außerdem in VB-Script hängt man Zeichenketten mit & zusammen ... aber nie probiert, ob + auch funktioniert. SQL, was du via ADO an die DB schickst, braucht imho nicht mit einem ; abgeschlossen zu werden.

    Tschau, tschüß,
    Frank

    1. hallo,

      der fehler lag bei der geschützen datenbank, die internetbenutzer durften nicht darauf zugreifen.

      vielen dank für deine hilfe

      grüsse

      IcedDEVIL