ASP vráti "Operácia musí použiť dotaz aktualizovateľný" chybaTieto spoločné chyby sa môžu vyskytnúť pri použití ActiveX Data Objects
(ADO) s Active Server Pages (ASP): Poskytovateľa Microsoft OLE DB pre ovládače ODBC chybu "80004005" [Microsoft][Ovládač ODBC Microsoft Access 97] Operáciu musí používať
Aktualizovateľný dotazu. Tento článok vysvetľuje štyri primárne príčiny tejto chyby a zodpovedajúce riešenia. Hoci tento článok odkazuje na databázu programu Microsoft Access, informácie uvedené tu, platí aj pre iné typy databáz. Táto chyba sa zvyčajne vyskytuje, keď váš skript sa pokúša vykonať
Aktualizácia alebo nejakú inú akciu, ktorá mení informácie do databázy.
Táto chyba sa vyskytuje, pretože ADO nie je možné zapisovať do databázy pre jednu z
z týchto dôvodov: - Najčastejším dôvodom je, že Internet hosťovské konto (IUSR_MACHINE), ktorá je predvolená časť „"skupina Everyone, nemá povolenie na zápis na databázový súbor (.mdb). Tento problém, použite kartu zabezpečenie Explorer chcete upraviť vlastnosti pre tento súbor tak, že Internet hosťovské konto má správne
povolenia.
POZNÁMKA: Pri používaní databázy programu Microsoft Access s ADO, je takisto potrebné dať Internet hosťovské konto zápis adresára obsahujúceho súbor .mdb. Je to spôsobené Jet vytvorí súbor .ldb zvládnuť databázy blokovania. Tiež musíte dať povolenie čítať a zapisovať na priečinok "Temp", pretože Jet môže vytvoriť dočasné súbory v tomto adresári. - Druhá príčina tejto chyby je, že databáza nebola otvorená s
správny režim pre písanie. Ak vykonávate otvoriť na pripojenie
objekt, použijete vlastnosť režim uvádzať povolenia na
pripojenie, ako je to znázornené nižšie:
SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 '3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close
POZNÁMKA: V predvolenom nastavení režimu je nastavená na 0(adModeUnknown), ktoré vo všeobecnosti umožňuje aktualizácie. - Ďalšou príčinou tejto chyby je, že môže byť nastavenie „len na čítanie"
skontrolovať v možnostiach stránku tomuto DSN v správcu ODBC.
- Posledné vydanie a obísť patrí akýkoľvek zdroj údajov SQL. Chyba môže byť spôsobená príkazy SQL, ktoré narušili referenčnú integritu pre
databáza. Tu sú niektoré z najčastejších dotazy, ktoré zlyhajú:
- Najjednoduchšie skupín zaoberať sú tie nemôžete zmeniť: krížový,
SQL premietnutia, únie, alebo aktualizácia (alebo vytvárací) akcia dotazy, ktoré
majú UniqueValue vlastnosti nastavená na hodnotu Áno.
- Ďalším veľmi spoločným príčinou je, keď spojenie zahŕňa prepojenej tabuľky ODBC
ktoré nemajú jednoznačné registre. V tomto prípade neexistuje spôsob, ako pre SQL
zaručiť, že záznamy sú v tabuľke, ktorý má jedinečný polia, ktorých
hodnota sa bude meniť s dotaz.
- Jedna príčina nemá robustné riešenie. Ak chcete aktualizovať spojenie
pole na strane „"one" "one-to-many" dotazu sa nepodarí, pokiaľ
musíte zapnúť kaskádových aktualizácií. Týmto spôsobom môžete delegovať referenčnú
integrity JET engine.
Toto správanie je predvolené. ID článku: 175168 - Posledná kontrola: 18. októbra 2011 - Revízia: 2.0 Informácie v tomto článku sa týkajú nasledujúcich produktov:- Microsoft Active Server Pages 4.0
- Microsoft Internet Information Services 5.0
- Microsoft ActiveX Data Objects 2.7
- Microsoft Data Access Components 2.5
- Microsoft Data Access Components 2.6
- Microsoft Data Access Components 2.7
| kbdatabase kberrmsg kbprb kbmt KB175168 KbMtsk |
Strojovo preloženéDÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje. Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 175168
(http://support.microsoft.com/kb/175168/en-us/
)
| |