Консультация № 26251
13.09.2005, 09:08
0.00 руб.
0 3 3
Может кто подскажет делал я импорт БД в Oracle вроде без ошибок все ок ! начинаю через программульку добавлять к этой БД новую табличку или изменяю в ней инфу какую а когда пытаюсь сохранить вылезает ORA 02289 sequence does not exist может кто подскажет че сделать можно

Обсуждение

Неизвестный
13.09.2005, 09:30
общий
это ответ
Здравствуйте, Homos!
В официальном мануале написано по поводу этой ошибки (по русски ниже):
Cause: The specified sequence does not exist, or access privilege is required for this operation. Also, this error can occur if attempting to access a remote sequence through an invalid or non-existent database link.

Action: Check spelling of the sequence name or obtain the required access privilege. If necessary, create the sequence. All remote sequences accessed in a distributed transaction must be on the same node.

Причина: Указанная последовательность не существует, или вы не имеете
требуемую привилегию доступа для выполнения этой операции. Ошибка также может возникнуть при попытке подключения к удаленной последовательности посредством неправильной либо не существующей ссылки.

Действие: Проверьте ваш правильность имени последовательности, или получите
требуемую привилегию доступа. Если необходимо создайте
последовательность.

Неизвестный
13.09.2005, 10:42
общий
это ответ
Здравствуйте, Homos!
Может ты просто забываешь транзакции подтверждать?
Неизвестный
13.09.2005, 18:50
общий
это ответ
Здравствуйте, Homos!
Может у вас не создана последовательность?
Используйте скрипты следующего видя для генерации таблиц:

Приложение:
-- replace SYNC_POINT to required table nameCREATE TABLE MyData( RECNO NUMBER(38) NOT NULL, NAME VARCHAR(32))LOGGING NOCACHENOPARALLEL;CREATE SEQUENCE TRD.MyData_RECNO_SEQ;CREATE PUBLIC SYNONYM MyData_RECNO_SEQ;CREATE PUBLIC SYNONYM MyData FOR MyData;ALTER TABLE MyData ADD ( CONSTRAINT PK_SYNC_POINT PRIMARY KEY (RECNO));CREATE OR REPLACE TRIGGER MyData_BI BEFORE INSERTON MyDataFOR EACH ROWBEGIN select MyData_RECNO_SEQ.NEXTVAL into :new.RECNO from DUAL; if :new.BDATE is null then :new.BDATE := SYSDATE; end if; if :new.ID is null then :new.ID := :new.RECNO; end if;END;/
Форма ответа