sexta-feira, 8 de abril de 2011

Verificando Roles e Grants de um usuário

 

Select Usuario,Permissao

from(

Select x.Grantee As Usuario ,y.Granted_Role As Permissao

From Dba_Role_Privs X

join Role_Role_Privs y on y.Role = x.Granted_Role

 

union all

 

Select x.Grantee As Usuario ,y.PRIVILEGE As Permissao

From Dba_Role_Privs X

join Role_sys_Privs y on y.Role = x.Granted_Role

 

)

where usuario = upper(&usuario)

order by usuario desc

quarta-feira, 6 de abril de 2011

Sculptris – Eficiência em Escultura e Pintura de Modelos 3D

Baixe aqui: http://download983.mediafire.com/xi2w414dnbbg/b86id60de219ptq/sculptris+alpha5+-+Baixaki.zip

Este modesto aplicativo, desenvolvido num período de apenas seis meses por Thomas Pettersson(conhecido também como Dr. Petter), se destina a execução de duas tarefas principais: Escultura e Pinturade modelos tridimensionais,… funções que ele desempenha de maneira precisa e eficiente. Segundo o próprio autor, “o Sculptris permanecerá pequeno e focalizado em sua principal tarefa, que é escultura e pintura de modelos 3D”. Criado como um projeto pessoal (hobby), não há por parte do desenvolvedor qualquer intenção em expandi-lo para suprir necessidades de usuários avançados do ZBrush, do Maya, do Blender e  de outros grandes aplicativos.

Apesar do tamanho reduzido, num primeiro contato com o software já se percebe uma enorme gama de possibilidades, seja pela forma surpreendente com que as ferramentas de escultura respondem aos comandos, pelo controle quase absoluto sobre o nível de detalhes nos modelos ou mesmo pela simplicidade de sua interface e facilidade em compreender o seu funcionamento. O Sculptris é sem dúvida um software criado por um artista,… para artistas!

O modelo abaixo é resultado de um dos meus primeiros estudos utilizando os módulos de Escultura e Pintura do Sculptris (Clique na Imagem para Ampliar)

Criatura 3D Esculpida e Pintada com o Sculptris

Módulo de Escultura (Sculpt)

As ferramentas do módulo de escultura demonstram uma flexibilidade incrível na execução de tarefas específicas como desenhar vincos e dobras, inflar, achatar, suavizar, mover, girar, escalonar etc. Além disso, fornecem recursos que permitem a você manter um controle muito preciso sobre a densidade e também sobre o nível de detalhes da malha, durante o processo de desenvolvimento dos seus modelos.

Sua interface é simples e muito fácil de entender. Composta basicamente por uma pequena caixa de ferramentas dividida em três blocos (no topo à esquerda), seguida de uma barra de configurações no sentido horizontal. O restante é um enorme espaço 3D, que irá proporcionar muita liberdade na execução do trabalho de escultura e pintura digital. A imagem mostra a interface do programa (Clique na Imagem e Amplie).

A Interface do Sculptris

Ferramentas de Escultura

Escultura – No primeiro bloco da caixa de ferramentas estão distribuídos 9 “pincéis” de escultura: Crease (E), Rotate (R), Scale (T), Draw(D), Flatten (F), Grab (G), Inflate (C), Pinch (V) eSmooth (B). Ao lado desses botões no sentido horizontal, aparecem as configurações correspondentes ao pincel que está ativo. Esses comandos também podem ser acessados de uma forma mais dinâmica, mantendo-se a Barra de Espaços pressionada.

Configurações da Ferramenta Ativa

Controle de Superfície – No segundo bloco temos 6ferramentas para controle da malha: Reduce Brush(Y), Reduce Selected, Subdivide All, Mask (M),Wireframe (W) e Symmetry. Com estes comandos você pode diminuir ou aumentar o número de polígonos (tris) alterando a densidade da malha de acordo com suas necessidades, pode isolar áreas específicas para esculpir, visualizar em wires e também, desabilitar a simetria entre as duas metades do modelo.

Organização – O terceiro bloco apresenta 6ferramentas que vão ajudá-lo na organização do trabalho, criando novas geometrias, importando e exportando modelos e abrindo e salvando arquivos. São elas: New Sphere, New Plane, Import Obj (Ctrl + Shift + E), Export Obj (Ctrl + E), Open (Ctrl + O) e Save (Ctrl + [Shift] + S).

Existem ainda algumas funções adicionais como o slot Brush para carregamento de pincéis especiais, o slot Material para carregamento de materiais (shaders) e o botão Paint que ativa o Módulo de Pinturapara o modelo.

Funções Adicionais

Veja na imagem abaixo, a escultura da criatura. Observe que no módulo de escultura, foram criados somente os detalhes principais  e que o refinamento do modelo se deu posteriormente, com a utilização do módulo de pintura que oferece recursos muito mais eficientes na produção de detalhes como poros, pele, escamas, rugas etc (Clique para Ampliar).

Criatura Esculpida no Sculptris

* Teste suas habilidades em escultura digital, utilizando os três modelos de exemplo disponíveis na pasta Models do Sculptris.

Módulo de Pintura (Paint)

No módulo de pintura, além das possibilidades de pintura com cores, texturas e relevos (bump), você ainda poderá combinar diversos Shaders (materiais) em uma mesma superfície, deixando seus personagens com um aspecto muito mais real e convincente. Veja um bom exemplo disso, na imagem abaixo (Clique na Imagem para Ampliar).

Mistura de Shaders, Pintura e Textura no Sculptris

Ferramentas de Pintura

Caixa de Ferramentas e Configurações no Módulo de Pintura

A caixa de ferramentas do módulo de pintura também se divide em três blocos, mas se diferencia principalmente por uma diminuição considerável no número de botões e controles.

Pintura – Aqui estão disponíveis 4 ferramentas de pintura: Paint Color (D), Paint Bump (B), Fill/Clear(Ctrl + F) e Flatten Bump (F). Ao lado dessas ferramentas no sentido horizontal, também são mostradas as configurações correspondentes ao pincel ativo, tal como no módulo de escultura. A diferença são os dois slots (Brush e Texture) para o carregamento de pincéis de transparências e texturas e um outro slot (Material) para o carregamento de materiais (shaders). Esses slots quando habilitados/desabilitados se comportam de maneiras diferentes, dependendo da ferramenta que estiver sendo usada. Por exemplo: Podemos pintar somente com cores, podemos pintar somente com relevos, podemos pintar com as cores de uma textura ou somente com o relevo dessa textura. Há ainda a possibilidade de aplicar ou pintar com diversos materiais diretamente sobre os modelos, criando combinações muito interessantes de cores, texturas, relevos e materiais. Veja na imagem abaixo estes controles e configurações.

Máscaras de Pintura – Abaixo da caixa de ferramentas são apresentados os controles de máscara: Enable Mask, Hide Mask e Edit Mask. Este recurso nos permitirá isolar áreas específicas para a pintura de modelos.

* Explore todas as possibilidades que o Sculptris oferece em pintura digital de modelos 3D utilizando as texturas e materiais disponíveis nas pastas Materials e Textures. A imagem abaixo, mostra exemplos de alguns desses materiais do Sculptris que podem ser aplicados e combinados em seus modelos (Clique na Imagem e Amplie):

Exemplos de Shaders do Sculptris

Com sua interface simples e intuitiva e com ferramentas extremamente versáteis tanto para escultura quanto para pintura, o Sculptris promete se tornar uma solução fácil, rápida e também muito eficiente na criação de seus personagens 3D, principalmente se você já possui conhecimentos básicos sobre desenho, pintura ou mesmo sobre escultura digital/tradicional.

A imagem abaixo mostra o resultado final deste estudo (Clique na imagem para ampliar):

Resultado Final

* Visite o website oficial do Sculptris (clique aqui), onde você poderá ler um pouco mais sobre o autor/desenvolvedor, fazer o download do programa, visualizar uma galeria de exemplos, participar de um fórum de discussões (em inglês) e ainda vai encontrar vídeos, tutoriais e outros recursos sobre o software.

* Leia este artigo escrito por Allan Brito (clique aqui), que faz uma breve análise das possibilidades desta “pequena maravilha” que é o Sculptris.

Sculptris

Esses dias encontrei uma nova ferramenta de escultura digital o sculptris, que esta na sua versão alpha 3 mas já da para fazer imagens bem legais com ele e ainda o programa e open source quem quiser testar e só baixar no site http://drpetter.se/project_sculpt.html





Com essas imagens da pra tem uma idéia do que e capaz o programa.
Não fui eu que fiz as imagens tirei do fórum do programa e do forum imaginefx.
Como esta em fase de desemvolvimento só espérar pela versão beta e ver o que a criança vai poder fazer.
Há tem alguns videos no youtube que da pra ter umas ideias de com usar o programa

Movimente como quiser com Puppet Warp

Puppet Warp: Esta ferramenta funciona como se fosse um “mapeamento”, você inseri pontos em sua foto ou personagem e poderá mudar a posição destes pontos. Por exemplo, você tem um personagem, você pode adicionar pontos em seu braço e move-los para levantar ou abaixar o braço.

Transformando foto em ilustração

Dificuldade: Nivel 3/5
01. Pressione Ctrl+O e abra uma imagem qualquer, neste tutorial usaremos a imagem abaixo.

02. Vá em Layer> New Fill Color> Solid Color, presione Ok e escolha a cor branca, vá em Layer> Hide Layers, pressione Ctrl+Shift+N para criar uma nova layer, dê o nome de Basic Shapes e pressione Ok, vá em Layer> Hide Layers, clique na layer Background (que contém a foto usada) e pressione a letra P do teclado para selecionar a Pen Tool, crie algum traços para definir a forma da pessoa na foto (caso não saiba como usar a Pen Tool clique aqui), crie alguns traços como nas fotos abaixo.



03. Agora clique na layer Basic Shapes e vá em Layer> Show Layers, clique na Fill Layer e vá em Layer> Show Layers para ativar a visualização de ambas as layers, clique na layer Basic Shapes, agora pressione a letra B do teclado para selecionar a Brush Tool, selecione um brush qualquer, vá em Window> Brushes, clique em Brush Tip Shape e defina o valor de 12% para Roundness, 45º para Angle, agora clique em Shape Dynamics e defina o valor de 100% para Size Jitter, 35% para Minimum Diameter e 5% para Angle Jitter e feche a janela de Brushes, pressione a letra D do teclado para resetar as cores de Foreground e Background para preto e branco, pressione a letra A do teclado clique para selecionar a Direct Selection Tool com o botão direto do mouse sobre um dos traços criados com a Pen Tool e escolha a opção Stroke Path, na caixa que irá abrir clique na opção Simulate Pressure e escolha a opção Brush no menu dropdown e pressione Ok, caso seu traço fique muito fino ou muito grosso pressione Ctrl+Z para desfazer a ação, pressione a letra B do teclado para selecionar a Brush Tool e defina outro tamanho para seu Brush.


04. Repita os passos 02 e 03 algumas vezes até completar todos os detalhes de sua ilustração.


05. Clique na layer Background e pressione Ctrl+J para duplicar a layer, coloque a cópia da layer no topo da paleta de layers (acima da layer Basic Shapes), mude o modo de blend da layer para Color, pressione a letra B do teclado para selecionar a Brush Tool, vá em Window> Brushes, clique em Brush Tip Shapee defina o valor de Angle em -45°, desabilite a opção Shape Dynamics, feche a janela de Brushes, clique na Fill Layer e pressione Ctrl+Shift+N para criar uma nova layer e dê o nome de Paint, pressione Ok, pressione a letra D do teclado para resetar as cores de Foreground e Background para preto e branco, defina o valor de 10% para a opacidade do Brush na barra de opções da ferramenta no alto da tela, vá passando o Brush nas áreas onde deseja colorir, sua imagem deve ficar como a da foto abaixo.

06. Caso precise apagar alguma parte que saiu errada a melhor maneira é pressionando a letra E do teclado para selecionar a Eraser Tool, indo emWindow> Brushes e definindo os mesmos valores que foram usados na Brush Tool, defina a opacidade do Brush em 50% na barra de opções da ferramenta e aplique nas partes que devem ser apagadas, para modificar as cores das peças de roupa clique na layer que estiver no topo da paleta de layers e vá em Layer> New Adjustment Layer> Hue/Saturation, arraste o slider de Hue até chegar na cor desejada, ajuste o slider de Saturation, clique no ícone da máscara que existe ao lado da Adjustment Layer e pressione Ctrl+I para inverter, pressione a letra E do teclado para selecionar a Eraser Tool, certifique-se de que a opacidade da layer esteja em 100% na barra de opções da ferramenta, pressione a letra D do teclado para resetar as cores de Foreground e Background para preto e branco e passe a Eraser Tool nas áreas onde deseja mudar a cor da roupa.

07. Use a mesma técnica até modificar tudo que deseja na imagem.


08. Clique na layer Paint e pressione Ctrl+Shift+N para criar uma nova layer, dê o nome de bkg paint e pressione Ok, pressione a letra B do teclado para selecionar a Brush Tool, defina um tamanho grande para o Brush com opacidade em 5% e passe no Background da ilustração, ao final sua imagem estará como a da foto abaixo.

Tutorial Original: http://psdtuts.com/photo-effects-tutorials/create-an-illustrated-look-from-a-photograph/
Tradução: Tutoriais Photoshop

terça-feira, 5 de abril de 2011

Envio de e-mail pelo Oracle

Olá,
Neste artigo irei fazer uma breve demonstração através de exemplos práticos, sobre o uso dos pacotes UTL_SMTP disponível à partir do Oracle 8i e do pacote UTL_MAIL disponível à partir do Oracle 10g R2. Para quem não sabe, estes pacotes possuem algumas procedures úteis para envio de e-mails à partir do próprio banco de dados Oracle. O motivo de eu estar escrevendo sobre este assunto partiu de uma questão postada aqui mesmo no blog, na qual o leitor pergunta como o mesmo faria através de uma trigger de banco de dados, enviar um e-mail informando que uma instrução SQL foi executada em uma tabela qualquer no banco de dados.

Bom, apesar de neste caso o uso do recurso de auditoria ser mais apropriado, eu irei demonstrar através de um exemplo simples, como o DBA poderia receber em seu e-mail uma mensagem enviada pelo banco de dados. Imagine que o DBA está saindo de férias e que o mesmo gostaria de receber em seu e-mail uma mensagem toda vez que uma tabela (de suma importância para ele) fosse alterada através de comandos DML (insert, update, delete).

Para quem utiliza o Oracle 8i ou 9i, o exemplo abaixo funcionará sem problemas, pois utilizarei recursos do pacote UTL_SMTPdisponíveis à partir do Oracle 8i.

C:\>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Seg Abr 5 08:46:19 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Conectado a:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

SYS@XE> create user scott identified by tiger default tablespace users;

Usuário criado.

SYS@XE> grant connect,resource to scott;

Concessão bem-sucedida.

SYS@XE> grant execute on UTL_SMTP to scott;

Concessão bem-sucedida.

Após a criação do usuário SCOTT acima, irei executar o bloco PL/SQL abaixo apenas para demonstrar a utilização de alguns procedimentos do pacote UTL_SMTP. No caso, estarei utilizando o servidor SMTP em questão que possui o IP 192.168.1.10 utilizando a porta padrão 25:

SYS@XE> connect scott/tiger
Conectado.

SCOTT@XE> Declare
2 SendorAddress varchar2(30) := 'DBA@Server.com';
3 ReceiverAddress varchar2(30) := 'legatti@intra.rps.com.br';
4 EmailServer varchar2(30) := '192.168.1.10';
5 Port number := 25;
6 conn UTL_SMTP.CONNECTION;
7 crlf VARCHAR2(2):= CHR(13) || CHR(10);
8 mesg VARCHAR2(4000);
9 BEGIN
10 conn:= utl_smtp.open_connection(EmailServer,Port);
11 utl_smtp.helo(conn,EmailServer);
12 utl_smtp.mail(conn,SendorAddress);
13 utl_smtp.rcpt(conn,ReceiverAddress);
14 mesg:=
15 'From:'||SendorAddress|| crlf ||
16 'Subject: Teste de e-mail enviado pelo Servidor Oracle' || crlf ||
17 'To: '||ReceiverAddress || crlf ||
18 '' || crlf ||
19 'Este e-mail foi enviado pelo servidor de banco de dados Oracle';
20 utl_smtp.data(conn,mesg);
21 utl_smtp.quit(conn);
22 END;
23 /

Procedimento PL/SQL concluído com sucesso.

Após a execução do bloco PL/SQL acima, poderemos ver na figura abaixo, que a mensagem foi enviada com sucesso para o endereçolegatti@intra.rps.com.br.


Agora irei criar uma stored procedure que receberá dois parâmetros de entrada: O primeiro será o assunto do e-mail e o segundo será o corpo da mensagem.

SCOTT@XE> create or replace procedure send_email (subject varchar, message varchar) as
2 BEGIN
3 Declare
4 SendorAddress varchar2(30) := 'DBA@Server.com';
5 ReceiverAddress varchar2(30) := 'legatti@intra.rps.com.br';
6 EmailServer varchar2(30) := '192.168.1.10';
7 Port number := 25;
8 conn UTL_SMTP.CONNECTION;
9 crlf VARCHAR2(2):= CHR(13) || CHR(10);
10 mesg VARCHAR2(4000);
11 BEGIN
12 conn:= utl_smtp.open_connection(EmailServer,Port);
13 utl_smtp.helo(conn,EmailServer);
14 utl_smtp.mail(conn,SendorAddress);
15 utl_smtp.rcpt(conn,ReceiverAddress);
16 mesg:=
17 'From:'||SendorAddress|| crlf ||
18 'Subject: '||subject|| crlf ||
19 'To: '||ReceiverAddress || crlf ||
20 '' || crlf || message;
21 utl_smtp.data(conn,mesg);
22 utl_smtp.quit(conn);
23 END;
24 END;
25 /

Procedimento criado.

Com a stored procedure criada, irei criar uma tabela de TESTE e uma trigger de banco de dados que será disparada toda vez que uma instrução DML afetar a tabela:

SCOTT@XE> create table teste (id number);

Tabela criada.

SCOTT@XE> create or replace trigger trg_teste_envia_email
2 after delete or insert or update
3 on teste
4 begin
5 if (inserting) then
6 send_email('INSERT realizado na tabela TESTE',
7 'O usuario '||user||' inseriu registros na tabela TESTE');
8 elsif (deleting) then
9 send_email('DELETE realizado na tabela TESTE',
10 'O usuario '||user||' deletou registros da tabela TESTE');
11 elsif (updating) then
12 send_email('UPDATE realizado na tabela TESTE',
13 'O usuario '||user||' atualizou registros na tabela TESTE');
14 end if;
15 end;
16 /

Gatilho criado.

Vale a pena salientar que na criação da trigger de banco de dados acima, eu não usei a cláusula "FOR EACH ROW" na definição da mesma,pois eu não quero receber 100 e-mails caso 100 registros da tabela sejam alterados de uma só vez por uma única instrução DML. O objetivo aqui é receber um e-mail informando que uma operação DML foi executada na tabela, independente de quantos registros foram manipulados.

SCOTT@XE> insert into teste values (1);
insert into teste values (1)
*

ERRO na linha 1:

ORA-29278: erro transiente de SMTP: 421 Service not available
ORA-06512: em "SYS.UTL_SMTP", line 21

ORA-06512: em "SYS.UTL_SMTP", line 97
ORA-06512: em "SYS.UTL_SMTP", line 139
ORA-06512: em "SCOTT.SEND_EMAIL", line 13
ORA-06512: em "SCOTT.TRG_ENVIA_EMAIL", line 3
ORA-04088: erro durante a execução do gatilho 'SCOTT.TRG_ENVIA_EMAIL'

SCOTT@XE> select * from teste;

não há linhas selecionadas

O erro acima foi gerado de forma propositada, pois eu desliguei o servidor SMTP apenas para demonstrar que caso o mesmo fique indisponível, a transação falhará e, portanto, o ideal seria tratar este tipo de exceção de forma a não comprometer a aplicação e os usuários que manipulam a tabela em questão. Bom, após o restabelecimento do serviço SMTP, vamos aos exemplos abaixo:

SOCOTT@XE> insert into teste values (1);

1 linha criada.

SOCOTT@XE> delete from teste;

1 linha deletada.

SOCOTT@XE> commit;

Commit concluído.

Após a execução das instruções DML acima, podemos ver na figura abaixo que as mensagens foram enviadas sem maiores problemas. Vale a pena salientar que as mensagens serão enviadas independente da transação ser bem sucedida (COMMIT) ou não (ROLLBACK).


Para quem utiliza o Oracle 10g R2, seria bom dar uma olhada no pacote UTL_MAIL, pois o mesmo possui mais funções além de ser mais simples. Para utilizá-lo, caso o mesmo não esteja instalado, bastará apenas executar os scripts $ORACLE_HOME/rdbms/admin/utlmail.sqle $ORACLE_HOME/rdbms/admin/prvtmail.plb como demonstrado abaixo:

C:\>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Seg Abr 5 08:55:40 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Conectado a:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

SYS@XE> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\utlmail.sql;

Pacote criado.

Sinônimo criado.

SYS@XE> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\prvtmail.plb;

Corpo de Pacote criado.

Não há erros.

Como complemento, o parâmetro SMTP_OUT_SERVER deverá ser setado afim de armazenar o nome ou endereço IP do servidor SMTP em questão:

SYS@XE> alter system set smtp_out_server = '192.168.1.10:25' scope=both;

Sistema alterado.

Após a configuração acima, poderemos ver abaixo um exemplo de seu uso:

SYS@XE> BEGIN
2 UTL_MAIL.send(sender => 'DBA@Server.com',
3 recipients => 'legatti@intra.rps.com.br',
4 cc => 'syschangeoninstall@gmail.com',
5 subject => 'Teste de envio de e-mail pelo UTL_MAIL',
6 message => 'O servidor Oracle me enviou este e-mail utilizando o pacote UTL_MAIL');
7 END;
8 /

Procedimento PL/SQL concluído com sucesso.

Após a execução do procedimento acima, podemos ver abaixo que a mensagem foi enviada com sucesso.


Por fim, para quem utilizar o Oracle 11g, poderá se deparar com o erro abaixo:

ERRO na linha 1:
ORA-24247: acesso à rede negado pela ACL (access control list)
ORA-06512: em "SYS.UTL_TCP", line 17
ORA-06512: em "SYS.UTL_TCP", line 246
ORA-06512: em "SYS.UTL_SMTP", line 115
ORA-06512: em "SYS.UTL_SMTP", line 138
ORA-06512: em line 11

Neste caso, o Oracle 11g possui uma nova camada de segurança (controle de acesso fino) responsável por permitir ou não, que os usuários de banco de dados façam uso de recursos de rede externo ao servidor de banco de dados através de pacotes como o próprio UTL_MAIL, UTL_SMTP, UTL_HTTP e UTL_TCP, mas não irei entrar em maiores detalhes sobre o ACL pelo fato de não ser o objetivo deste artigo. Portanto, no Oracle 11g, para que seja possível a utilização destes recursos, será necessário a configuração de algumas políticas de acesso (ACL) como demonstrado abaixo:

C:\>sqlplus sys/******* as sysdba

SQL*Plus: Release 11.1.0.6.0 - Production on Seg Abr 5 08:56:38 2010

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Conectado a:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SYS@ORACLE11> begin
2 dbms_network_acl_admin.create_acl (
3 acl => 'utl_mail.xml',
4 description => 'Permite enviar e-mail',
5 principal => 'SCOTT',
6 is_grant => TRUE,
7 privilege => 'connect'
8 );
9 commit;
10 end;
11 /

Procedimento PL/SQL concluído com sucesso.

SYS@ORACLE11> begin
2 dbms_network_acl_admin.add_privilege (
3 acl => 'utl_mail.xml',
4 principal => 'SCOTT',
5 is_grant => TRUE,
6 privilege => 'resolve'
7 );
8 commit;
9 end;
10 /

Procedimento PL/SQL concluído com sucesso.

SYS@ORACLE11> begin
2 dbms_network_acl_admin.assign_acl(
3 acl => 'utl_mail.xml',
4 host => '192.168.1.10'
5 );
6 commit;
7 end;
8 /

Procedimento PL/SQL concluído com sucesso.

Após a execução dos procedimentos acima, o usuário SCOTT terá os privilégios necessários para a execução dos procedimentos existentes no pacote UTL_MAIL, afim de utilizar o serviço SMTP do servidor em questão.


Este artigo pertence ao Oracle Blog por Eduardo Legatti.
Related Posts Plugin for WordPress, Blogger...