Frage: Ich versuche, die Methode open table/close table zu verwenden, um meine neue SQL
mit Dexterity zu erstellen. Für die Anweisung "open table" wird jedoch der folgende SQL zurückgegeben: "Bei einem geöffneten Vorgang in Tabelle xxx ist beim Zugriff auf die SQL
fehler aufgetreten." Wenn ich auf Weitere Informationen klicke, wird "[Microsoft][ODBC SQL Server Treiber][SQL Server] Es ist bereits ein Objekt mit dem Namen PKADSY4997 in der Datenbank vorhanden. [Microsoft] [ODBC SQL Server Treiber] [SQL Server] Eine Einschränkung konnte nicht erstellt werden. Frühere Fehler ein-/aus."
Der physische Name meiner Tabelle ist PKADSY4997, der weder vorhanden noch eine der gespeicherten zDP-Prozeduren für diese Tabelle ist. Was könnte den Fehler verursachen?
Antwort: In diesem Fall wurde die Tabelle zuvor erstellt und gelöscht, aber aus einem bestimmten Grund wurde keine Einschränkung für die
Tabelle entfernt.
In Query Analyzer haben wir die folgende Abfrage ausgeführt: Wählen Sie * aus sysobjects aus, wobei
name = 'PKADSY4997' die id
151193332 und die parent_obj 173243672 war.
Beim Anzeigen der parent_obj haben wir als Nächstes die Auswahlabfrage für das übergeordnete Objekt ausgeführt und konnten keines finden. Daher war dies wie erwartet eine verwaiste Einschränkung.
Zu diesem Zeitpunkt mussten wir die verwaiste Einschränkung löschen. Doch zuerst musste eine Einstellung geändert werden.
Im SQL Server Eigenschaftenfensters gibt es ein Kontrollkästchen, das markiert werden muss, damit diese Einschränkung gelöscht werden kann. Änderungen direkt an den Systemkatalogen zulassen.
Jetzt aus dem Abfrage-Analyzer löschen: Löschen Sie aus
sysobjects where name = ''PKADSY4997'. Dadurch wurde die Einschränkung entfernt, und die Tabelle könnte jetzt aus
Dexterity ordnungsgemäß neu erstellt werden.
Dieser Artikel wurde unter "TechKnownowanzeige Dokument-ID:26107"