Kérdés: A megnyitott táblázat/tábla bezárása módszerrel próbálok új táblázatot létrehozni SQL
kézhasználati módban. Az "open table" utasításnál azonban a következő SQL hiba jelenik meg: "Az xxx tábla megnyitott művelete nem fért hozzá SQL
adatokhoz." Amikor a További információ gombra kattintok, a következő szöveg lesz kiírva: "[Microsoft][ODBC SQL Server Driver][SQL Server] Már van egy PKADSY4997 nevű objektum az adatbázisban. [Microsoft] [ODBC SQL Server Illesztőprogram] [SQL Server] Nem hozható létre kényszer. Korábbi hibákat láthat."
A táblázat fizikai neve PKADSY4997, amely nem létezik, és nem is történik a táblázathoz tárolt zDP-eljárások egyikével sem. Mi okozhatja a hibát?
Válasz: Ebben az esetben a táblát korábban hozták létre és nem távolították el, de valamilyen okból nem lett eltávolítva a táblára vonatkozó
megkötés.
A Query Analyzerben a következő lekérdezést futtattuk: válassza a * adatokat a sysobjects táblából, ahol a név
= 'PKADSY4997' A visszaadott azonosító
151193332 volt, parent_obj 173243672.
A lekérdezés parent_obj következő lépésként a szülőobjektumon futtattuk a választó lekérdezést, és nem találunk egyet sem. Ez tehát elárvult kényszer volt a várt módon.
Ezen a ponton törölni kellett az árva kényszert. Először azonban módosítani kell egy beállítást.
A SQL Server tulajdonságok ablakban megjelenik egy jelölőnégyzet, amely be van jelölve ahhoz, hogy ez a kényszer törölhető legyen – Lehetővé kell tenni a módosítások közvetlen módosítását a rendszerkatalógusban.
Most a Query Analyzer eszközből: törölje a fájlt a sysobjects karakterláncból, ahol a név
= 'PKADSY4997' Ez eltávolította a kényszert, és a táblázat már most helyesen jött létre a
Dexterity-ból.
Ez a cikk a következő volt: TechKnowledge Document ID:26107