Spørgsmål: Jeg forsøger at bruge metoden åbn tabel/luk tabel til at oprette min
nye tabel SQL Dexterity. Men på sætningen "åben tabel" returneres denne SQL fejl: "En åben handling på tabel xxx mislykkedes med at
få adgang SQL data". Når jeg klikker på Flere oplysninger, står der "[Microsoft][ODBC SQL Server Driver][SQL Server] Der er allerede et objekt med navnet PKADSY4997 i databasen. [Microsoft] [ODBC SQL Server Driver] [SQL Server] Der kunne ikke oprettes begrænsninger. Se tidligere fejl."
Det fysiske navn på min tabel er PKADSY4997, som ikke findes eller ikke nogen af de zDP-gemte procedurer for denne tabel. Hvad kan forårsage fejlen?
Svar: I dette tilfælde var tabellen blevet oprettet og tabt tidligere, men af en eller anden grund var en begrænsning i tabellen
ikke blevet fjernet.
I Forespørgselsanalyse kørte vi denne forespørgsel: vælg * fra
sysobjects, hvor navn = 'PKADSY4997' Det returnerede id blev
151193332, og parent_obj blev 173243672.
Når vi kigger parent_obj kolonne, kørte vi derefter udvælgelsesforespørgslen mod det overordnede objekt og kunne ikke finde et. Så dette var en uafhængig begrænsning, som vi havde forventet.
På dette tidspunkt er vi nødt til at slette den uafhængige betingelse. Men først skal en indstilling ændres.
I vinduet SQL Server Egenskaber er der et afkrydsningsfelt, der skal være markeret for at tillade, at denne betingelse kan slettes – Tillad, at ændringer foretages direkte i systemkatalogerne.
Nu fra Forespørgselsanalyse: slet fra
sysobjects, hvor navn = ''PKADSY4997' Dette fjernede betingelsen, og tabellen kunne nu oprettes igen korrekt fra
Dexterity.
Denne artikel var TechKendt dokument-id:26107