Vprašanje:
Poskušam uporabiti način za odpiranje tabele/zapiranja tabele, da ustvarim novo tabelo SQL tabelo z aplikacijo Dexterity. Vendar pa se v izjavi »odpri tabelo« prikaže SQL napaka: »Odpiranje operacije v tabeli xxx ni uspelo
SQL podatkov«. Ko kliknem Več informacij, se v zbirki podatkov reče »[Microsoft][ODBC SQL Server Driver][SQL Server] V zbirki podatkov je že predmet z imenom PKADSY4997. [Microsoft] [Gonilnik SQL Server ODBC] [SQL Server] Omejitve ni bilo mogoče ustvariti. Ogled prejšnjih napak.«
Fizično ime moje tabele je PKADSY4997, ki ne obstaja in ne naredi nobenih shranjenih procedarnih zDP za to tabelo. Zakaj bi lahko prišlo do napake?
Odgovor: V tem primeru je bila tabela ustvarjena in izpadla prej, toda iz neznanega razloga omejitev v tabeli
ni bila odstranjena.
V analizatorju poizvedbe smo zagnali to poizvedbo: izberite * iz
sysobjects where name = 'PKADSY4997' Vrnjeni ID je
bil 151193332 in parent_obj bil 173243672.
Če si parent_obj oknu, smo v naslednji zagnali poizvedbo za izbiranje glede na nadrejeni predmet in je nismo mogli najti. To je bila tako zapuščena omejitev, kot smo pričakovali.
Na tej točki smo morali izbrisati zapuščeno omejitev. Toda najprej je treba spremeniti nastavitev.
V SQL Server oknu Lastnosti programa je potrditveno polje, ki mora biti označeno, da dovoli brisanje te omejitve – Dovoli neposredno spreminjanje sistemskih katalogov.
Zdaj v analizatorju poizvedbe: izbrišite iz
sysobjects where name = ''PKADSY4997' To je odstranilo omejitev in tabelo je bilo zdaj mogoče znova pravilno ustvariti iz
Dexterity.
Ta članek je bil TechKnowledge DOCUMENT ID:26107