PRB: Błąd "Nie można WSTAWIĆ" podczas aktualizacji tabeli w widoku indeksowanego

Objawy

Podczas wykonywania procedury składowanej lub SQL INSERT instrukcja bezpośrednio, która próbuje wstawić wiersz do tabeli, która odwołuje się do widoku indeksowanego, może wystąpić następujący błąd:

Wstaw nie powiodło się, ponieważ ma następujące opcje SET niepoprawne ustawienia: "ARITHABORT"
Ponadto ten błąd może wystąpić, nawet jeśli "USTAWIONY na ARITHABORT" jest uwzględniony w partii lub procedury składowanej, która próbuje Wstaw.

Przyczyna

Aby pomyślnie wstawić wiersz do tabeli, która odwołuje się do widoku indeksowanego, ustawienie Konfiguracja SQL ARITHABORT musi być równa ON. Ponadto oświadczenie, że dotyczy to ustawienie konfiguracji muszą być wykonane w swoich własnych partii. Ponieważ procedury przechowywane zawiera tylko jedną partię, dodanie do procedury instrukcji nie działa.

Rozwiązanie

Aby rozwiązać ten problem, Dodaj następujący kod ADO do aplikacji po otwarciu połączenia z bazą danych:
MyConnection.Execute "SET ARITHABORT ON"
gdzie jednowyrazowy jest odwołanie do obiektu połączenia ADO, używane do uruchomienia procedury przechowywanej, która wykonuje instrukcji INSERT lub instrukcji SQL INSERT.

Stan

To zachowanie jest zgodne z projektem.

Więcej informacji

NA ustawienie ARITHABORT jest jedną z opcji, które nie jest automatycznie ustawiony dla połączenia, które używają dostawcy OLE DB dla programu SQL Server lub sterownik ODBC programu SQL Server. Ponieważ połączenia OLE DB i ODBC nie należy określać ustawienia ARITHABORT, domyślnym połączeń do domyślnej serwera, który jest ARITHABORT poza.

Powiązane artykuły

Aby uzyskać więcej informacji zobacz tematy "Projektowanie indeksowane widok" i "Tworzenie indeksu" w dokumentacji SQL Server 2000 Books Online.
Właściwości

Identyfikator artykułu: 305333 — ostatni przegląd: 16.02.2017 — zmiana: 1

Opinia