Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

подскажите в чём тут ошибка? [D6, Oracle]


Nina ©   (2002-08-27 15:14:00) 

create or replace procedure kol_user
(kol out number)
as begin
select COUNT(USERNAME)
into kol
from v$session
WHERE STATUS ="ACTIVE"
AND USERNAME IS NOT NULL;
end;


Black Cat   (2002-08-29 09:54:00) [1]


> Nina

Если, как говоришь, есть права и проходит
select * from v$session,
то грантировать ничего не надо, все должно пройти.
См. почту.


dimis   (2002-08-29 08:33:00) [2]

>Nina
не важно как это делать , через процедуру или нет
для такого запроса твой ораколовский пользователь должен иметь грант на таблицу SYS.V_$SESSION.
этот грант должен дать тебе админ сервера.
команды были приведены выше.
Если они отказываются примени административные меры и переложи ответственность на начальство


Nina   (2002-08-29 07:04:00) [3]

Black Cat
тогда расскажите мне как сделать по другому не через процедуру?


Nina   (2002-08-29 07:04:00) [4]

Black Cat
тогда расскажите мне как сделать по доугму не через процедуру?


dimis   (2002-08-28 14:39:00) [5]



> Black Cat

:) угу
в понедельник


Black Cat   (2002-08-28 14:35:00) [6]


> dimis

С утра, пораньше :-)


dimis   (2002-08-28 14:33:00) [7]

надо ломать Oracle
самый верный кряк - это бутылка холодного пива


Black Cat   (2002-08-28 14:32:00) [8]

Дело не в процедуре, а в доступе к SYS.V_$SESSION.


Black Cat   (2002-08-28 14:29:00) [9]

пасворд не дают ;-)? Ну пусть администратор выполнит строчку с grant


Nina   (2002-08-28 14:26:00) [10]

и что можно сделать?? может без процедуры??
как?
напрямую ?? подскажите!!


Nina   (2002-08-28 14:23:00) [11]

sys мне не дают коннектиться!
воты!!! весело!!!


Black Cat   (2002-08-28 13:28:00) [12]


> Nina

Давайте так: готовый скрипт

-- коннектимся как SYS
connect sys/ PASSW_FOR_SYS@ SERVER;

-- грантируем права на селект из вьюшки, принадлежащей SYS
GRANT SELECT ON SYS.V_$SESSION TO MY_SCHEMA;

-- коннектимся СВОИМ ЮЗЕРОМ
connect MY_SCHEMA/ PASSW_FOR_MY_SCHEMA@ SERVER;

-- создаем процедуру
create or replace procedure kol_user
(kol out number)
as begin
select COUNT(USERNAME)
into kol
from v$session
WHERE STATUS ="ACTIVE"
AND USERNAME IS NOT NULL;
end;

-- все
commit;

Все, что вам надо - заменить выделенное жирным на свои. Разумеется, скрипт проверен


Nina   (2002-08-28 13:01:00) [13]

Black cat
может вы и правы в этом ошибка
но я не могу понять как сделать!
объясните по подробнее плз!


petr_v_a   (2002-08-27 16:17:00) [14]

а че за ошибка-то, Nina??? ошибки-то разные бывают


Black Cat   (2002-08-27 16:04:00) [15]


> Nina

Входишь как SYS, выполняешь:

GRANT SELECT ON "SYS"."V_$SESSION" TO "MY_SCHEMA", где
"MY_SCHEMA" - имя твоей схемы (юзера) - это и есть права,

потом входишь под именем своего юзера и создаешь процедуру


Nina   (2002-08-27 16:00:00) [16]

не помогает!
может в правах проблема?


dimis   (2002-08-27 15:42:00) [17]

from sys.v$session


Black Cat   (2002-08-27 15:38:00) [18]

Если в другой схеме, то перед созданием процедуры (юзером SYS):

GRANT SELECT ON "SYS"."V_$SESSION" TO "MY_SCHEMA"


Black Cat   (2002-08-27 15:20:00) [19]

если создавать в схеме SYS, то ошибки нет


Наверх

Титульная страница Поиск, карта сайта Написать письмо