2009-04-27 2 views
2

Ich habe eine einfache Löschabfrage geschriebenFehler „Kann nicht aus dem angegebenen Tabelle löscht“ nur auf veröffentlichte ASP.NET-Website

delete from mails 

Während ich ausführen ich kein Problem zu bekommen und die Abfrage läuft gut, aber wenn ich veröffentlicht die Website, die ich erhalte eine Fehlermeldung besagt:

„löschen kann nicht von bestimmten Tabellen“

Was könnte das Problem sein?

Ich erhalte diese Störung, wenn in IIS gesetzt, aber wenn ich es in lokalem Laufwerk durch Visual Studio laufe ich diesen Fehler nicht immer bin ... Bitte helfen

+0

Welche Datenbank benutzen Sie? Zugang, SQL Server, usw.? – schooner

+1

Ich bezweifle, dass Sie immer noch daran interessiert, aber hatte die "Mails" -Tabelle einen Primärschlüssel? –

Antwort

0

Ist die Datenbank die richtige permisions Setup? Haben Sie festgestellt, dass Sie eine Verbindung zur Datenbank herstellen können?

+0

ich benutze Access-Datenbank ... ja, ich kann mit der Datenbank verbinden ... – Guddu

+0

Haben Sie Schreibzugriff auf die Datei gelesen, wo es veröffentlicht ist? Wurde es vielleicht nur zum Lesen vorgemerkt? – schooner

+0

Ja, ich habe Lese-/Schreibzugriff auf die Datei – Guddu

1

Ich bezweifle, das Veröffentlichen einer Website den DB-Code beeinträchtigen kann. Können Sie Daten aus der Datenbank abrufen oder funktioniert nach dem Veröffentlichen kein Datenbankcode?

Haben Sie versucht, diesem Link zu folgen? Ich bin mir nicht sicher, ob es dein Problem löst, aber einen Versuch wert!

http://bytes.com/groups/asp/658763-could-not-delete-specified-tables

+0

Eigentlich benutze ich SQL-Server database.i wird zuerst den Zugriff auf die Datenbank mit Hilfe der delete-Abfrage und Einfügen von Datensätzen von SQL-Server zugreifen ... ich konnte Datensätze aus SQL abrufen Datenbank..Hope du hast wat versuche zu sagen – Guddu

+0

http://bytes.com/groups/asp/658763-could-not-delete-specified-tables – Preets

0

Ich würde die Connectionstring von dieser Datenquelle überprüfen. Überprüfen Sie, ob die Datei in dem Verzeichnis verfügbar ist, auf das Sie verweisen. Überprüfen Sie außerdem, ob das Netzwerkdienstkonto berechtigt ist, diese Datei zu ändern.

1

Der Benutzer muss aufgrund der Sperrdatei (.ldb) Lese-, Schreib- und Löschberechtigungen für das Verzeichnis haben, in dem sich die Access-Datenbank befindet.

+0

Ich habe Lese- \ Schreibrechte für die MDB-Datei aber immer noch gegeben Ich bekomme diesen Fehler – Guddu

+0

Es ist notwendig, Berechtigungen für den Ordner, in dem der MDB gespeichert ist. Die Sperrdatei (ldb) muss beim ersten Benutzer erstellt und beim letzten Benutzer gelöscht werden. Wenn Probleme auftreten, können Sie mit einer schreibgeschützten Datenbank arbeiten, unabhängig von den anderen Berechtigungen. – Fionnuala

+0

DELETE-Berechtigung ist nicht erforderlich. Wenn das LDB nicht gelöscht wird, verursacht es keine Probleme, wenn das LDB nicht beschädigt wird. Das Entfernen der DELETE-Berechtigung für den Ordner schützt die Hauptdatendatei vor dem Löschen und ändert das LDB-Verhalten so, als wäre es in Access 2 und davor.Sie würden Ihre Administrator-Benutzer wahrscheinlich in eine NTFS-Benutzergruppe mit DELETE-Berechtigung versetzen, damit sie die Datendatei komprimieren können (was ein Löschen erforderlich macht). –

0

OK, also hatten wir genau diese Symptome auf einem von IIS gehosteten WCF-Dienst.

Was wir insbesondere benötigten, war, dem IIS-Benutzer IIS_IUSR Zugriffsrechte für den übergeordneten Ordner, der die Datenbank enthielt, zu ändern und zu schreiben. In unserem Fall hatte es diese Rechte nicht in Anspruch genommen.

Verwandte Themen