zmiana hasła po dblinku
adamrw - 24-12-2006 00:37
zmiana hasła po dblinku
Witam Zarządzam kilkunastoma bazami i mam problem dotyczący szybkiej zmiany hasła użytkownika na wszystkich bazach. Pomyślałem że na każdej bazie założę funkcję, która będzie wykonywała alter user (dodatkowo wykonuje ona inne rzeczy dlatego musi być to funkcja). Na jednej bazie chciałem napisać funkcję która po dblinku będzie łączyła się z każdą bazą po kolei i wywoływać funkcję zmieniającą hasła. Ale problem polega na tym że nawet bez dblinku na bazie z tą funkcję nie mogę jej wywołać, gdyż nie można jej uruchomić w ten sposób select funkcja(login,haslo) from dual Pojawia się błąd ORA-14552: cannot perform a DDL, commit or rollback inside a query or DML
W jaki sposób rozwiązać ten problem ?
Michał Kuratczyk - 24-12-2006 00:37
adamrw wrote: > Zarządzam kilkunastoma bazami i mam problem dotyczący szybkiej zmiany > hasła użytkownika na wszystkich bazach. Pomyślałem że na każdej > bazie założę funkcję, która będzie wykonywała alter user (...) > W jaki sposób rozwiązać ten problem ? Najlepiej użyj gotowego mechanizmu: http://download-uk.oracle.com/docs/c...b14269/toc.htm
A jeśli nie możesz, to zmień swoją funkcję na procedurę.
-- Michał Kuratczyk
Sławomir Szyszło - 24-12-2006 00:37
Dnia 18 Dec 2006 06:27:35 -0800, "adamrw" <adamrw@konto.pl> wklepał(-a):
>Witam >Zarządzam kilkunastoma bazami i mam problem dotyczący szybkiej zmiany >hasła użytkownika na wszystkich bazach. Pomyślałem że na każdej >bazie założę funkcję, która będzie wykonywała alter user >(dodatkowo wykonuje ona inne rzeczy dlatego musi być to funkcja). Na >jednej bazie chciałem napisać funkcję która po dblinku będzie >łączyła się z każdą bazą po kolei i wywoływać funkcję >zmieniającą hasła. Ale problem polega na tym że nawet bez dblinku >na bazie z tą funkcję nie mogę jej wywołać, gdyż nie można jej >uruchomić w ten sposób >select funkcja(login,haslo) from dual >Pojawia się błąd ORA-14552: cannot perform a DDL, commit or rollback >inside a query or DML > >W jaki sposób rozwiązać ten problem ?
Wywoływać ją tak?
declare n number; -- czy co tam zwraca begin n := funkcja(login, haslo); end; -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
adamrw - 24-12-2006 00:37
> Wywoływać ją tak? > > declare > n number; -- czy co tam zwraca > begin > n := funkcja(login, haslo); > end; A w jaki sposób zrobię to po dblinku ? Nie ma możliwości odpalić n := funkcja(login, haslo)@dblink;
Sławomir Szyszło - 24-12-2006 00:37
Dnia 19 Dec 2006 05:26:27 -0800, "adamrw" <adamrw@konto.pl> wklepał(-a):
>> Wywoływać ją tak? >> >> declare >> n number; -- czy co tam zwraca >> begin >> n := funkcja(login, haslo); >> end; >A w jaki sposób zrobię to po dblinku ? Nie ma możliwości odpalić >n := funkcja(login, haslo)@dblink;
A tak:
n := funkcja@dblink(login, haslo);
http://download-uk.oracle.com/docs/c...9a.htm#2060142 -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
adamrw - 28-12-2006 00:13
Jak zrobiłem tak: DECLARE N NUMBER; BEGIN N := ADMIN_KL.KR_SYSTEM.CHANGE_PASSWD@LODZ('arg1', 'arg2'); DBMS_OUTPUT.PUT_LINE(N); END; to nie zadziałało wywala następujący błąd: ORA-06550: line 4, column 8: PLS-00201: identifier 'ADMIN_KL.KR_SYSTEM@LODZ' must be declared ORA-06550: line 4, column 3: PL/SQL: Statement ignored
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Firebird - zmiana NULL na NOT NULL
Zmiana koloru tekstu i/lub =?ISO-8859-2?Q?t=B3a_w_pojedyncze?==?ISO-8859-2?Q?j_kom=F3rce_DBGrid?=
[pgsql] Zmiana schematu do =?ISO-8859-2?Q?kt=F3rego_nalezy_o?==?ISO-8859-2?Q?biekt=2E?=
[ORACLE] Zmiana adresu IP Hosta Oracle
klient oracle (zmiana domyslna klienta oracla)
[ORACLE] Oracle performance manager - zmiana jeżyka z PL na EN
=?ISO-8859-2?Q?[MSSQL]_Zmiana_collation_istniej=B1cego_serwera?=
[ms sql 2000] Replikacja - zmiana typu kolumny w tabeli ?
[trudne] Stan zapasu w kostce OLAP a zmiana przedzialow czasowych
hurtowa zmiana polskich liter w nazwach =?ISO-8859-2?Q?plik=F3w_?=
zanotowane.pldoc.pisz.plpdf.pisz.plautwywalczyl.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|