Вопрос. Я пытаюсь использовать метод "Открытая таблица/закрыть таблицу" для создания новой SQL с
помощью функции "Открытая таблица/закрыть". Однако в заявлении "открытая таблица" возвращается SQL: "При открытой операции с таблицей xxx не удалось получить доступ
SQL данных". Когда я щелкаю дополнительные сведения, в базе данных говорится "[Microsoft][Драйвер SQL Server ODBC][SQL Server] В базе данных уже есть объект с именем PKADSY4997. [Корпорация Майкрософт] [драйвер SQL Server ODBC] [SQL Server] Не удалось создать ограничение. См. предыдущие ошибки".
Физическое имя таблицы — PKADSY4997, которая не существует и не существует процедур zDP, хранимой для этой таблицы. Что может быть причиной ошибки?
Ответ. В этом случае таблица была создана и удалена ранее, но по какой-либо причине не была
удалена.
В анализаторе запросов мы запустили такой запрос: выберите * из
sysobjects, где имя = 'PKADSY4997' Возвращаемая ид —
151193332, а parent_obj — 173243672.
В столбце parent_obj запрос на выборки для родительского объекта, и нам не удалось найти его. Поэтому это ограничение было потерянным, как мы ожидали.
На этом этапе нам нужно было удалить потерянные ограничения. Но сначала нужно изменить параметр.
В окне Свойства SQL Server есть один из окне свойств системы, который должен быть отмечен, чтобы это ограничение можно было удалить. Разрешить вносить изменения непосредственно в системные каталоги.
Теперь из анализатора запросов: удалите из систобъектов, где имя
= ''PKADSY4997'. Это ограничение было удалено, и таблицу можно было создать правильно
из-за нее.
Эта статья была посвящена ИД документа TechKnow в 26107