Запитання. Я намагаюся використати метод відкритої або закритої таблиці, щоб створити нову таблицю із SQL із
вісьмовою таблицею. Проте в інструкції open table повертається така SQL:
"A open operation on table xxx failed accessing SQL data" (Не вдалося отримати доступ до даних через SQL таблиці). Якщо клацнути елемент Додаткові відомості, з'явиться повідомлення "[Microsoft][ДРАЙВЕР SQL SERVER ODBC][SQL Server] У базі даних уже є об'єкт під назвою PKADSY4997. [Microsoft] [драйвер ODBC SQL Server] [SQL Server] Не вдалося створити обмеження. Див. попередні помилки".
Фізичне ім'я таблиці – PKADSY4997, яке не існує, і жодна з збережених zDP процедур для цієї таблиці. Що може призвести до помилки?
Відповідь. У цьому випадку таблицю створено й видалено раніше, але з якоїсь причини обмеження в таблиці не було
видалено.
У засобі аналізу запитів цей запит: виберіть * з
sysobjects, де name = 'PKADSY4997' Ідентифікатор
повернуто: 151193332, а parent_obj було 173243672.
Після цього в parent_obj запит на вибірку по відношенню до батьківського об'єкта не вдалося знайти. Тому це було відбралене обмеження, як очікувалося.
На цьому етапі потрібно видалити відоклеєне обмеження. Але спочатку потрібно змінити настройку.
У вікні SQL Server Властивостей є прапорець, який має бути позначено, щоб дозволити видалення цього обмеження. Дозволити внесення змін безпосередньо до системних каталогів.
Now from Query Analyzer:
delete from sysobjects where name = 'PKADSY4997' This removed the constraint, and the table could be
re-created correctly from Dexterity now.
Ця стаття: TechKnowledge Document ID:26107