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]