Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Помогите разобраться с листингом входа  [new]
Илья Викторович
Member

Откуда:
Сообщений: 3
CREATE OR REPLACE PACKAGE ADMIN AS

FUNCTION CreateUser (UserName Varchar2,Passw Varchar2,FullUser Varchar2) Return Number;

END ADMIN;
/
create or replace package body ADMIN is

FUNCTION CreateUser (UserName VARCHAR2,Passw VARCHAR2,FullUser VARCHAR2) RETURN NUMBER IS
cErr VARCHAR2(400);
cText VARCHAR2(1000);
cUserName VARCHAR2(100);
nUser NUMBER;
BEGIN
cUserName:=UserName;
SELECT COUNT(*)
INTO nUser
FROM ALL_USERS
WHERE UPPER(username)=UPPER(cUserName);
IF nUser=0 THEN
cText:='CREATE USER '||UPPER(cUserName)||' IDENTIFIED BY '||Passw||' DEFAULT TABLESPACE "CRM" TEMPORARY TABLESPACE "TEMP" PROFILE DEFAULT ACCOUNT UNLOCK ';
EXECUTE IMMEDIATE cTEXT;
END IF;
INSERT INTO CRM_USER (USER_NAME,USER_FIO)
VALUES (UPPER(UserName),FullUser);
COMMIT;
cText:='GRANT CRM_ADMIN TO '||Rtrim(UPPER(UserName)) ;
EXECUTE IMMEDIATE cTEXT;
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
cERR:=SQLERRM;
RAISE_APPLICATION_ERROR(-20999,cERR);
END CreateUser;

end ADMIN;
28 май 10, 13:14    [8851367]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с листингом входа  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Илья Викторович
CREATE OR REPLACE PACKAGE ADMIN AS

   FUNCTION CreateUser (UserName Varchar2,Passw Varchar2,FullUser Varchar2) Return Number;

END ADMIN;
/
create or replace package body ADMIN is

FUNCTION CreateUser (UserName VARCHAR2,Passw VARCHAR2,FullUser VARCHAR2) RETURN NUMBER IS
   cErr VARCHAR2(400);
   cText VARCHAR2(1000);
   cUserName VARCHAR2(100);
   nUser NUMBER;
BEGIN
   cUserName:=UserName;
   SELECT COUNT(*)
   INTO nUser
   FROM ALL_USERS 
   WHERE UPPER(username)=UPPER(cUserName);
   IF nUser=0 THEN
     cText:='CREATE USER '||UPPER(cUserName)||' IDENTIFIED BY '||Passw||' DEFAULT TABLESPACE "CRM" TEMPORARY TABLESPACE "TEMP" PROFILE DEFAULT ACCOUNT UNLOCK ';
     EXECUTE IMMEDIATE cTEXT;
   END IF;	   
   INSERT INTO CRM_USER (USER_NAME,USER_FIO)
               VALUES   (UPPER(UserName),FullUser);
   COMMIT;
   cText:='GRANT CRM_ADMIN TO '||Rtrim(UPPER(UserName)) ;
   EXECUTE IMMEDIATE cTEXT;
   RETURN 1;
EXCEPTION
   WHEN OTHERS THEN
        ROLLBACK;
		cERR:=SQLERRM;
        RAISE_APPLICATION_ERROR(-20999,cERR);
END CreateUser;

end ADMIN;

то не "листинг входа" это пакедж для создания юзера с ролью CRM_ADMIN, инфа о создании записывается в табличку CRM_USER, которая принадлежит овнеру пакеджа
28 май 10, 13:23    [8851466]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с листингом входа  [new]
Илья Викторович
Member

Откуда:
Сообщений: 3
Большое спасибо
28 май 10, 13:32    [8851557]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с листингом входа  [new]
Илья Викторович
Member

Откуда:
Сообщений: 3
а роль может быть только админа, или можно добавить еще и пользователей с другими ролями?
28 май 10, 13:34    [8851576]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с листингом входа  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
pravednik
то не "листинг входа" это пакедж для создания юзера с ролью CRM_ADMIN, инфа о создании записывается в табличку CRM_USER, которая принадлежит овнеру пакеджа
Да, этот пакедж авайлабилизирует аудитинг криэйтинга и ролевого грантирования юзеров в дата бейзе топикстартера

:-)
28 май 10, 13:46    [8851664]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с листингом входа  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Илья Викторович
а роль может быть только админа, или можно добавить еще и пользователей с другими ролями?
а вы смысл этого
cText:='GRANT CRM_ADMIN TO '||Rtrim(UPPER(UserName)) ;
кусочка совсем не понимаете ?
28 май 10, 13:50    [8851700]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с листингом входа  [new]
-2-
Member

Откуда:
Сообщений: 15330
В динамику суют имя пользователя и пароль без кавычек, зато "TEMP".
28 май 10, 14:22    [8851985]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить