Fala André!!

Quando uma procedure é executada, o contexto de segurança utilizado não leva
em consideração as roles, isto é, todo o privilégio adquirido através de uma
role é ignorado quando você roda uma procedure.

"Você tem que conceder o privilégio diretamente para o owner da procedure",
diria o Padre Quevedo :)

Em 06/11/07, André Castro <[EMAIL PROTECTED]> escreveu:
>
>   Senhores,
>
> Continuando na minha odisséia para usar o banco com XML, agora estou
> "procedurando" as ações, a fim de automatizar alguns passos.
> Tudo ia bem, até que me deparei com a seguinte situação.
>
> tenho o seguinte trecho de código dentro de um SP.
>
> BEGIN
>
> DBMS_XMLSchema.registerSchema(
> schemaurl=>to_char(p_url||p_virtualpath||p_xsd_file),
> schemadoc=>sys.UriFactory.getUri(p_virtualpath||p_xsd_file),
> genTables => true);
>
> EXCEPTION when others THEN
> DBMS_OUTPUT.PUT_LINE('Cannot registry XSD');
> DBMS_OUTPUT.PUT_LINE('Error: '||SQLERRM);
> END;
>
> *Que me gera o erro de privilégios insufucientes.*
>
> Porém, logado com o mesmo usuário, e rodando o seguinte código, eu não
> tenho
> o erro.
>
> declare
> v_url varchar2(40) := 'http://10.159.1.28:8080';
> p_virtualpath varchar2(20) := '/public/xml_castro/';
> p_xsd_file varchar2(100) := 'ReportMigration.xsd';
> begin
>
> DBMS_XMLSchema.registerSchema(
> schemaurl=>to_char(v_url||p_virtualpath||p_xsd_file),
> schemadoc=>sys.UriFactory.getUri(p_virtualpath||p_xsd_file),
> genTables => true);
> end;
>
> Ou seja, ele só dá o erro quando eu tento rodar de dentro da SP. Já vi
> alguma coisas sobre privilégios específicos para execução de comandos
> dentro
> da SP. Mas nesse caso, nem com a role de DBA tá rolando.
>
> Alguém tem alguma idéia?!
>
> Grato
>
> André Castro
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Atenciosamente,
Gleyson Melo
Oracle Database 10g Administrator Certified Professional


[As partes desta mensagem que não continham texto foram removidas]

Responder a