Ich möchte CRUD-Vorgänge in einer MDB-Datei über einen Web-Service. Der Dienst funktioniert einwandfrei und führt alle CRUD-Vorgänge auf meinem Computer durch (Entwicklungsumgebung). Aber wenn ich es tatsächlich auf dem Server hostet, löst es Error: Operation must use an updateable query.
Fehler aus, wenn ich versuche, den Dienst mit Browser oder einem Client zu testen, der die Anwendung verbraucht.Fehler: Operation muss eine aktualisierbare Abfrage verwenden. Beim Zugriff auf .mdb-Datei von Web-Dienst
Die MDB-Datei hat volle Berechtigungen für alle Benutzer des Servers als here erwähnt und here die Verbindungszeichenfolge in Web-Service ist wie folgt.
string strConnection = @"Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=";
strConnection += Server.MapPath(".\\App_Data\\users.mdb");// + "; user id=;password=;";
string strSQL = "SELECT * FROM user_info";
OleDbDataAdapter userAdapter = new OleDbDataAdapter(strSQL, strConnection);
OleDbCommandBuilder userCB = new OleDbCommandBuilder(userAdapter);
Die MDB-Datei ist in keinem anderen Programm geöffnet/geschlossen. Was fehlt mir hier?
Basierend auf dem Stack Trace habe ich gefunden. Ich poste hier die Query Execution-Methoden, wenn es helfen könnte
OleDbConnection connection = new OleDbConnection(strConnection);
OleDbCommand logCommand = new OleDbCommand(strLogSQL_User, connection);
logCommand.Connection.Open();
logCommand.ExecuteNonQuery();
logCommand = new OleDbCommand(strLog_User, connection);
logCommand.ExecuteNonQuery();
logCommand.Connection.Close();
return "true";
IST dies die vollständige Fehlermeldung? Ich denke, Sie haben einen wichtigen Teil der Ausnahme weggelassen. – Steve
Die 'exception.message' enthält nur diese. U bedeutet innere Ausnahme – Programmerzzz
Ja, innere Ausnahmemeldung, Eine andere Möglichkeit ist: Hat die user_info Tabelle einen Primärschlüssel? – Steve