MarkX: Fehler bei insert-Anweisung

Guten Morgen!

Kann mir jemand sagen was mit folgender Zeile nicht stimmt:

Conn.Execute "insert into Session (Datum, Browser, OS) values('" & dateid & "', '" & Browserinfo & "', '" & Referer & "')"

Mein Browser(IE) meint folgendes dazu:

Microsoft OLE DB Provider for ODBC Drivers- Fehler '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation muss eine aktualisierbare Abfrage verwenden.

/Index.asp, line 22

Vielen Dank für Eure Hilfe!

MarkX.

  1. Hi,

    der IUSR_Machinename hat höchstwahrscheinlich kein Schreibrecht im Pfad wo die Datenbankdatei (höchstwahrscheinlich Access) liegt und höchstwahrscheinlich auf der Datenbankdatei selbst auch nicht. Setze die richtigen Sicherheitseinstellungen für die entsprechenden Elemente, dann funktioniert es höchstwahrscheinlich.

    Gruß, Frank

    1. Hi,

      der IUSR_Machinename hat höchstwahrscheinlich kein Schreibrecht im Pfad wo die Datenbankdatei (höchstwahrscheinlich Access) liegt und höchstwahrscheinlich auf der Datenbankdatei selbst auch nicht. Setze die richtigen Sicherheitseinstellungen für die entsprechenden Elemente, dann funktioniert es höchstwahrscheinlich.

      Gruß, Frank

      Hi Frank,

      Das mit den Schreibrechten leuchtet mir ein, da das gleiche Script bereits bei einem anderen Provider lief. Leider bin ich jetzt zu einem Providerwechsel gezwungen, der mir jetzt einen Test-Account eingerichtet hat.
      Kannst Du mir jetzt noch erklären was der ISUR_Machinename ist??

      Danke!

      MarkX.

      1. Hi Frank,

        Das mit den Schreibrechten leuchtet mir ein, da das gleiche Script bereits bei einem anderen Provider lief. Leider bin ich jetzt zu einem Providerwechsel gezwungen, der mir jetzt einen Test-Account eingerichtet hat.
        Kannst Du mir jetzt noch erklären was der ISUR_Machinename ist??

        Danke!

        MarkX.

        Hi, das ist das Benutzerkonto des Anonymen Internetusers. Sprich der IIS mit seinen Prozessen arbeitet mit diesem lokalen Benutzerkonto.

        MachineName steht für den Rechnernamen des Rechners, auf dem dieser IIS läuft. Für diesen Benutzer (IUSR) müssen entsprechende NTFS-Rechte gesetzt werden, damit würde ich aber vorsichtig hantieren und nicht gleich alles auf FULL CONTROL setzen, sondern nur dort, wo es wirklich wichtig ist. Auch würde ich Dateien, die der Benutzer nie sehen soll, wie die Datenbankdatei nicht mit in das Virtuelle Verzeichnis der Website ablegen oder irgendwo darunter...

        Hoffe, die Infos helfen dir!

        Tschau, Frank

        1. Hi nochmal,

          Danke! Hab grad meinen Provider kontaktiert und ihm das Problem geschildert. Selbst hab ich keinen Einfluß auf dessen Serverkonfiguration. Muß einfach hoffen, daß er schnell die entsprechenden Schreibrechte bereitstellt, wovon ich ausgehe.
          Die Infos haben mir sehr geholfen!

          Bis denne...
          MarkX.

  2. Hallo MarkX

    Conn.Execute "insert into Session (Datum, Browser, OS) values('" & dateid & "', '" & Browserinfo & "', '" & Referer & "')"

    Mein Browser(IE) meint folgendes dazu:

    Microsoft OLE DB Provider for ODBC Drivers- Fehler '80004005'

    [Microsoft][ODBC Microsoft Access Driver] Operation muss eine aktualisierbare Abfrage verwenden.

    /Index.asp, line 22

    Was für eine Datenbank verwendest du denn? MS Access 2000? Kann es sein, dass es sich bei Session nicht um eine Tabelle, sondern um eine Abfrage/View, die möglicherweise eine Art von JOIN verwendet?
    Und handelt es sich bei den Feldtypen tatsächlich um Text-Felder?

    Gruß
    Stefan

    1. Hi Stefan!

      Was für eine Datenbank verwendest du denn? MS Access 2000? Kann es sein, dass es sich bei Session nicht um eine Tabelle, sondern um eine Abfrage/View, die möglicherweise eine Art von JOIN verwendet?
      Und handelt es sich bei den Feldtypen tatsächlich um Text-Felder?

      Ja, ich verwende Access 2000. Aber mit Session ist schon eine stinknormale Tabelle. Das Problem muß woanders liegen und ich denke Frank hat schon den Finger auf der Wunde. ;-)

      Danke trotzdem!

      MarkX.