none
Access Db durch w3wp.exe gesperrt RRS feed

  • Frage

  • Hallo Leute!

    Ich habe eine kleine Website laufen mit einer Access 2010 Datenbank in App_Data. Bei 3 Benutzern im Netz läuft eine Access Runtime um Daten einzutragen. Auf der Website selbst kann nichts eingegeben werden, sie greift nur lesend auf die DB zu. Die DB ist gesplited in Frontend/Backend. Jetzt passierts immer wieder, dass die Backenddb aber durch w3wp.exe - also dem IIS Worker Prozess - gesperrt und nie wieder frei gegeben wird. Schaltet sich in diesem Zustand jemand mit der Frontendoberfläche auf die DB kann er natürlich nix ändern.

    Warum passiert es, dass w3wp die DB blockiert, wenn sowieso nur lesend darauf zugegriffen wird? Wo hab ich denn da den Hund eingebaut?

    Danke für Eure Hilfe!

    lg

    Jörg

     


    • Bearbeitet Jörgi Freitag, 30. September 2011 08:17
    Freitag, 30. September 2011 08:16

Antworten

  • Hallo Jörg,

    es ist in keinster Weise empfehlenswert oder stabil, eine Access Datenbank sowohl für eine Webanwendung als auch gleichzeitig für andere Zugriffe zu verwenden. Das wird in den meisten Fällen nur mit viel Glück laufen.

    Du solltest daher eher auf SQL Server (Express) umstellen und die Access Clients dann auf die SQL Server Datenbank upgraden. Die Clients arbeiten also eigentlich wie bisher mit ihrem Access Frontend, die Webanwendung greift direkt auf die SQL Server DB zu.

    Ursachen für das geschilderte Verhalten gibt es viele. Häufig ist es so, dass man vergessen hat, sämtliche Objekte zu terminieren.

      <OleDbCommand>.Dispose()
      <OleDbConnection>.Close()
      <OleDbConnection>.Dispose()

    sollte nie fehlen, auch wenn ein Fehler in der Anwendung selbst auftritt.

    Aber auch das wird zu 98% nicht dauerhaft Abhilfe schaffen, das das Szenario, wie oben schon geschrieben, eh sehr fehleranfällig und instabil ist.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert Jörgi Freitag, 30. September 2011 08:34
    Freitag, 30. September 2011 08:25
    Moderator

Alle Antworten

  • Hallo Jörg,

    es ist in keinster Weise empfehlenswert oder stabil, eine Access Datenbank sowohl für eine Webanwendung als auch gleichzeitig für andere Zugriffe zu verwenden. Das wird in den meisten Fällen nur mit viel Glück laufen.

    Du solltest daher eher auf SQL Server (Express) umstellen und die Access Clients dann auf die SQL Server Datenbank upgraden. Die Clients arbeiten also eigentlich wie bisher mit ihrem Access Frontend, die Webanwendung greift direkt auf die SQL Server DB zu.

    Ursachen für das geschilderte Verhalten gibt es viele. Häufig ist es so, dass man vergessen hat, sämtliche Objekte zu terminieren.

      <OleDbCommand>.Dispose()
      <OleDbConnection>.Close()
      <OleDbConnection>.Dispose()

    sollte nie fehlen, auch wenn ein Fehler in der Anwendung selbst auftritt.

    Aber auch das wird zu 98% nicht dauerhaft Abhilfe schaffen, das das Szenario, wie oben schon geschrieben, eh sehr fehleranfällig und instabil ist.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert Jörgi Freitag, 30. September 2011 08:34
    Freitag, 30. September 2011 08:25
    Moderator
  • Hallo Stefan!

    Danke für Deine super schnelle Antwort! Habe fast befürchtet, dass die Antwort so ausfällt wie sie ausgefallen ist. Habe mir einfach gedacht, bei so einer kleinen Seite sollte eine schnelle Access DB eigentlich mehr als leicht reichen. Na ja, ich werde dann mal auf SQL Server Express umstellen. Seufz.

    lg

    Jörg

     

    Freitag, 30. September 2011 08:36
  • Hallo Jörg,

    für eine kleine Site reicht Access auch aus. Aber nicht in Kombination mit Zugriffen aus anderen Anwendungen heraus, da wird Access bzw. die Jet Engine immer ganz wuschig :)

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Freitag, 30. September 2011 09:44
    Moderator