Найдено 60 результатов

Nag
Ср 06 июн 2012 06:59
Форум: dbForge for Oracle
Тема: Невозможно просмотреть/изменить DDL view
Ответы: 2
Просмотры: 6299

Невозможно просмотреть/изменить DDL view

Выполняем в SQL-редакторе небольшой скриптик, который создает две примитивные таблицы, наполняет их тестовыми данными и создает view на базе этих таблиц

Код: Выделить всё

create table t01(id number primary key, type_id number);
create table t02(id number primary key, type_id number);

insert into t01(id, type_id)
select
    level,
    0
from
    dual
connect by
    level <= 200000;     

insert into t02(id, type_id)
select
    level,
    0
from
    dual
connect by
    level <= 2000;     
    
create or replace view vw_test(id1, id2)
as
select
    t1.id as id1,
    t2.id as id2
from
    t01 t1
    left join t02 t2 on t2.type_id = t1.type_id
group by
    t1.id,
    t2.id;             
Все выполняется успешно
------ Выполнение начато: SQL.sql ------
Выполнение завершено успешно [0.419c]
Выполнение завершено успешно [0.167c]
200000 Строки вставлена [4.341c]
2000 Строки вставлена [0.155c]
Выполнение завершено успешно [0.147c]

------------ Готово: SQL.sql -------------
Теперь обновляем дерево объектов (F5), находим там созданную view VW_TEST, открываем ее редактор (DblClick) и пытаемся переключиться на вкладку "Текст". Приложение подвисает намертво на некоторое время (у меня - ровно 1 минута) и потом вываливает ошибку
Невозможно извлечь информацию о столбце:

ORA-01013: пользователем запрошена отмена текущей операции
Так же не удается и изменить текст этой view. После редактирования текста при нажатии кнопки "Сохранить" (Ctrl+S) происходит такое же подвисание и ошибка.
Кстати, о птичках: по поводу ORA-01013 смотрим тынц
http://forums.devart.com/ru/viewtopic.php?f=22&t=13340

Следует заметить, что если в скрипте не заполнять таблицы данными, то этой ошибки не наблюдается. Внимание, вопрос! Почему просмотр/редактирование DDL view зависит от данных в таблицах, на которых эта view построена? ИМХО, это ненормальное поведение приложения.

Версия dbForge Studio for Oracle 3.1.198.1
Nag
Чт 31 май 2012 06:34
Форум: dbForge for Oracle
Тема: "кривое" позиционирование при переходе из Проводника
Ответы: 8
Просмотры: 9958

Re: "кривое" позиционирование при переходе из Проводника

а по-русски? :)
Т.е. в Вашем приложении еще при проектировании был предусмотрен и потом заботливо реализован подобный баг в обработке событий мыши для TreeView?
It's a feature! (c)
Nag
Вт 22 май 2012 06:50
Форум: dbForge for Oracle
Тема: Генерация плана выполнения запроса
Ответы: 2
Просмотры: 5552

Генерация плана выполнения запроса

Очень часто приложение "отказывается" генерировать план выполнения запроса даже, казалось бы, в простых случаях. Это крайне "неудобно" при написании хоть сколько-нибудь сложных запросов, когда план выполнения "не очевиден". Запрос написан синтаксически правильно, выполняется, выдает результат, но... приложение уверено, что "профилирование этого запроса невозможно" (при чем тут, кстати, профилирование? IMHO, это понятие совсем другого рода).
Примитивный пример

Код: Выделить всё

create table plan_test1 (
  id number primary key,
  link_id number);

create table plan_test2 (
  id number primary key,
  name varchar2(100 char));
Пишем запрос:

Код: Выделить всё

with my_cte as (
    select
        id, name
    from
        plan_test2
)
select
    t1.id, t2.name
from
    plan_test1 t1
    join my_cte t2 on t2.id = t1.link_id
В ответ на "Генерировать план выполнения..." получаем
Профилирование этого запроса невозможно
Было бы неплохо, чтобы все-таки план выполнения любого синтаксически верного запроса можно было посмотреть и проанализировать. Иначе зачем вобще в приложении эта "недофункция"? На данном этапе я вобще отказался от просмотра планов в dbForge и вынужден держать сессию TOAD, который, слава Богу, работает в этом плане безотказно.неудобно
Nag
Вт 22 май 2012 05:58
Форум: dbForge for Oracle
Тема: И снова про лже-удаление...
Ответы: 5
Просмотры: 6444

И снова про лже-удаление...

Была тема про "якобы" удаляемый триггер при редактировании свойств столбца таблицы, тынц:
http://forums.devart.com/ru/viewtopic.php?f=22&t=13282
Спешу Вас обрадовать, что проблема так и имеет место быть. Воспроизводится так:
1) Берем любую существующую или создаем новую таблицу

Код: Выделить всё

CREATE TABLE TT2 (
  F01 NUMBER NOT NULL,
  F02 NUMBER NOT NULL);
2) Создаем новый триггер для этой таблицы

Код: Выделить всё

CREATE OR REPLACE TRIGGER TT2_BIU
BEFORE INSERT OR UPDATE ON TT2 FOR EACH ROW
begin
    :new.f02 := coalesce(:new.f02, 0);
end;
3) Обновляем дерево объетов (F5), находим нашу таблицу и триггер, открываем редакторы и того, и другого
4) Теперь в редакторе таблицы вносим любое изменение (я пробовал создавать индекс, удалять столбец, ставить ограничение NOT NULL - эффект одинаковый) и сохраняем (Ctrl+S)
5) Получаем сообщение о том, что триггер был благополучно удален: "Объект <имя схемы>.TT2_BIU был удален. Хотите закрыть редактор?", хотя на самом деле это не так. Кроме того, если отказаться от закрытия, то вкладка редатоктора триггера помечается как "измененная" (символом *)

Так что сообщение в вышеозначенной теме
Сообщаем Вам, что вышла новая версия dbForge Studio for Oracle, v3.1.190, в которой данная ошибка была исправлена
не соответствует действительности.

Версия dbForge Studio for Oracle 3.1.198.1
Nag
Ср 16 май 2012 15:36
Форум: dbForge for Oracle
Тема: "кривое" позиционирование при переходе из Проводника
Ответы: 8
Просмотры: 9958

Re: "кривое" позиционирование при переходе из Проводника

Получилось стабильно воспроизвести нечто похожее следующим образом:
1) делаем DblClick на объекте в дереве, но при втором клике не отпускаем кнопку мыши. Чуть смещаем указатель, чтобы начался drug'n'drop, отпускаем кнопку мыши.
2) теперь просто одинарный клик в любой объект в дереве приведет к открытию редактора этого объекта
Nag
Ср 16 май 2012 15:25
Форум: dbForge for Oracle
Тема: бага с дополнением кода
Ответы: 3
Просмотры: 5330

Re: бага с дополнением кода

Не помню, какая тогда была версия. Сейчас 3.1.196.1, проверил - ошибка пропала. Спасибо! :)
Nag
Ср 16 май 2012 15:22
Форум: dbForge for Oracle
Тема: как создать compound-триггер?
Ответы: 4
Просмотры: 6141

Re: как создать compound-триггер?

накидал на скорую руку

Код: Выделить всё

create or replace trigger xxx.compound_trigger_sample for delete on xxx.t0
compound trigger

    type trec_deleted_record is record(
        id number,
        data number);
    type ttab_deleted_records is table of trec_deleted_record
        index by binary_integer;
    deleted_records ttab_deleted_records;

after each row is
    v_rec trec_deleted_record;
begin
    v_rec.id := :old.id;
    v_rec.data := :old.data;
    deleted_records(deleted_records.count + 1) := v_rec;
end after each row;

after statement is
    v_rec trec_deleted_record;
begin
    for i in 1 .. deleted_records.count loop
        v_rec := deleted_records(i);
        -- тут делаем обработку, связанную c mutating table
        xxx.process(v_rec.id, v_rec.data);
    end loop;
    deleted_records.delete;
end after statement;

end;
Nag
Пт 11 май 2012 05:54
Форум: dbForge for Oracle
Тема: ORA-01013
Ответы: 8
Просмотры: 20163

Re: ORA-01013

Использую OCI, клиент Oracle Instant Client версии 11.2.0.1.0 (basic)
Nag
Чт 10 май 2012 05:45
Форум: dbForge for Oracle
Тема: ORA-01013
Ответы: 8
Просмотры: 20163

Re: ORA-01013

dbForge Studio for Oracle 3.1.196.1
но подобное поведение наблюдалось и в предыдущих версиях
Nag
Сб 05 май 2012 04:20
Форум: dbForge for Oracle
Тема: ORA-01013
Ответы: 8
Просмотры: 20163

Re: ORA-01013

А что, Ваше приложение использует ODBC для коннекта к Oracle?! Вот это новость! В TOAD при идентичных параметрах коннекта всё выполняется "на ура", ни разу не получал такой ошибки. Им и спасаюсь. Посему сие
Данная проблема не связана с нашим продуктом...
вызывает сомнение.
Nag
Пт 04 май 2012 08:46
Форум: dbForge for Oracle
Тема: ORA-01013
Ответы: 8
Просмотры: 20163

ORA-01013

Периодически при выполнении длительных DML и DDL среда выдает сообщение:
ORA-01013: пользователем запрошена отмена текущей операции
При этом лично я никаких "отмен" не запрашивал.

Вопрос: среда сама пытается "детектировать" зависшие операции и срубает их по тайм-ауту? Если "да", то возможно ли это как-то отключить? Ибо реально уже изабелло...
Nag
Пт 27 апр 2012 05:41
Форум: dbForge for Oracle
Тема: опять про переход к реализации метода пакета по DblClick
Ответы: 1
Просмотры: 3146

опять про переход к реализации метода пакета по DblClick

Был такой топик http://www.devart.com/ru/forums/viewtopic.php?t=13272
Мы воспроизвели эти проблемы и исправим их в течении месяца.
Сообщаю, что переход до сих пор осуществляется к закомментированной версии метода вместо "действующей". Прошло уже 4 месяца :)

Пример все тот же

Код: Выделить всё

create or replace package xxx.aaa as

procedure do_something;

end aaa;

create or replace package body xxx.aaa as

/* commented for debug purpose
procedure do_something
is
begin
    null;
end;
*/

procedure do_something
is
begin
    null;
end;

end aaa;
dbForge Studio for Oracle 3.1.196.1
Nag
Ср 18 апр 2012 11:28
Форум: dbForge for Oracle
Тема: неактивная сетка данных
Ответы: 2
Просмотры: 4450

неактивная сетка данных

Обнаружилась следующая глюка: открываем SQL-редактор, пишем запрос, возвращающий несколько тысяч строк (я так точно и не понял, сколько их должно быть для воспроизведения, у меня эффект проявляется где-то от 500), выполняем его (F5). Тычем в сетку с данными, перемещаемся в конец выборки (Ctrl+End). Возвращаем фокус ввода обратно в редактор, снова выполняем запрос (F5). Всё, финита: сетка с данными становится "неинтерактивна".

З.Ы. Версия dbForge Studio for Oracle 3.1.190.1
Nag
Вт 27 мар 2012 07:22
Форум: dbForge for Oracle
Тема: переход к реализации метода пакета - всё сломалось
Ответы: 3
Просмотры: 4385

Пример кода тела пакета, когда переход к реализации метода do_something не работает

Код: Выделить всё

create or replace package body xxx.aaa as

/* 123 */

procedure do_something is
begin
/* 456 */
    null;
end do_something;

end aaa;
Nag
Вт 27 мар 2012 06:53
Форум: dbForge for Oracle
Тема: переход к реализации метода пакета - всё сломалось
Ответы: 3
Просмотры: 4385

Кажется, я понял, в каких случаях не работает. Если в теле пакета есть многострочные комментарии, то переход работает только в ту часть кода, которая расположена "выше" самого первого многострочного коммента. А так как лично у меня тело почти каждого пакета сопровождается некоторыми поясняющими комментариями в самом начале (надеюсь, в этом нет ничего криминального?), то у меня вобще никуда не переходит.