Otázka: Pokouším se pomocí metody otevřít tabulku/zavřít tabulku vytvořit novou tabulku SQL s
zručností. V příkazu "open table" se ale tato chyba SQL: "Operace otevření v tabulce xxx se nezdařila při SQL
dat." Po kliknutí na Další informace se v databázi zobrazí "[Microsoft][OVLADAČ ODBC SQL Server][SQL Server] V databázi už je objekt s názvem PKADSY4997. [Microsoft] [Ovladač SQL Server ODBC] [SQL Server] Nelze vytvořit omezení. Podívejte se na předchozí chyby."
Fyzický název tabulky je PKADSY4997, který neexistuje ani neprokažuje žádné zDP uložené procedury pro tuto tabulku. Co může způsobit chybu?
Odpověď: V tomto případě byla tabulka vytvořena a zrušena dříve, ale z nějakého důvodu se neodebralo omezení
tabulky.
V nástroji Query Analyzer jsme spustili tento dotaz: vyberte * z sysobjects, kde name
= 'PKADSY4997' Vrácené id bylo
151193332 a parent_obj 173243672.
Když se podíváme parent_obj sloupce, spustili jsme výběrový dotaz proti nadřazenému objektu a nenašli jsme ho. Takže se jedná o osamocené omezení, jak jsme očekávali.
V tomto okamžiku jsme potřebná osamocené omezení odstranili. Nejdřív je ale potřeba změnit nastavení.
V okně SQL Server vlastnosti je zaškrtávací políčko, které musí být označené, aby bylo možné toto omezení odstranit. Povolte změny přímo v katalogech systému.
Teď z Query Analyzeru: Odstraňte z
sysobjects, kde name = ''PKADSY4997' Toto omezení se odebralo a tabulka se teď mohla znovu vytvořit správně
z Dexterity.
Tento článek byl TECHKnowledge Document ID:26107